Haskell - WikiBookを読んでる。
継続のあたりまで進んだのだけど、動かすのに困ったのでメモ。説明は分かりやすかった。あと、Haskell-modeはミニバッファに型が出てきて便利。いちいち:tとかやって確認するの面倒だし。
import Control.Monad.Cont
foo :: Int -> Cont r String
foo n =
callCC $ \k -> do
let n' = n ^ 2 + 3
when (n' > 20) $ k "over twenty"
return (show $ n' - 4)
-- runCont (foo 5) id
そしてさらに、Haskellの継続モナド(Continuation Monad)を理解するポイントも併せて読んで吉。
wikibookはarrowのとことかも分かりやすかった。