【发布时间】:2012-09-13 16:56:00
【问题描述】:
所以,几个月过去了,我有点生疏了,但我似乎记得 Either b 是 Monad
Prelude Control.Monad Data.Either> return "Hello" :: Either String String
<interactive>:0:1:
No instance for (Monad (Either String))
arising from a use of `return'
Possible fix:
add an instance declaration for (Monad (Either String))
In the expression: return "Hello" :: Either String String
In an equation for `it':
it = return "Hello" :: Either String String
Prelude> Right "Hi" == return "Hi"
<interactive>:0:15:
No instance for (Monad (Either a0))
arising from a use of `return'
Possible fix: add an instance declaration for (Monad (Either a0))
In the second argument of `(==)', namely `return "Hi"'
In the expression: Right "Hi" == return "Hi"
In an equation for `it': it = Right "Hi" == return "Hi"
所以我可能做错了什么,但我不确定是什么。我正在使用 GHC 7.2.2。
【问题讨论】: