【发布时间】:2013-08-12 10:33:52
【问题描述】:
有人能告诉我为什么这段使用 State monad 的代码永远不会结束吗?
fib' :: State [Int] ()
fib' = do l <- get
let l2 = sum (last2 l)
put (l ++ [l2])
return ()
fib'
take 10 $ execState fib' [0, 1]
当我在 ghci REPL 中执行它时,该函数执行时不会停止。
【问题讨论】: