我们正试图在F#中构建来自http://www.haskell.org/all_about_monads/html/maybemonad.html的Haskell-MaybeMonad示例。 这个想法是在两本字典中搜索一个mailaddress。如果其中一个查找返回结果,我们将查看第三个。 let bindM x k =
match x with
| Some value ->
我有一个标准的数据类型表示谓词逻辑的公式。代表的脱节自然演绎排除规则的函数可能看起来像: d_el p q =
if p =: (Dis r s) && q =: (Neg r) then Just s else
if q =: (Dis r s) && p =: (Neg r) then Just s else
Nothing where r,s free
x
我发现这样的代码在书中“真实世界哈斯克尔”,P68 data Tree a = Node a (Tree a) (Tree a)
| Empty
deriving (Show)
nodeAreSame (Node a _ _) (Node b _ _)
| a == b = Just a
nodeAreSame _ _ = Nothing
我的
我不明白为什么我从GHCi得到以下回应。是不是Maybe的构造函数? Prelude> :t Maybe
<interactive>:1:1: Not in scope: data constructor `Maybe'
Prelude> let e = Maybe 5
<interactive>:1:9: Not in scope: data constructor `Maybe'