最近简要介绍了Haskell,对于monad本质上是什么,简单,简洁,实用的解释是什么?
我发现我遇到的大多数解释都是相当难以接近的,缺乏实际细节.
我开始了我的Grand Haskell Crusade(GHC :)),我对monads和IO功能有点困惑.谁能解释一下这两个功能之间的区别是什么?
f1 = do x <- [1,2]
[x, x+1] -- this is monad, right?
f2 = do x <- [1,2]
return [x, x+1]
Run Code Online (Sandbox Code Playgroud)
结果是:
*Main> f1
[1,2,2,3]
*Main> f2
[[1,2],[2,3]]
Run Code Online (Sandbox Code Playgroud)