一旦你理解了Monad,我认为你已经从一个初学者Haskell程序员过渡到一个中级haskeller了。那么接下来该怎么做呢?我要推荐的第一件事(如果你还没有从学习monad中学到它们)是各种类型的monad,比如Reader、Writer和State。同样,Real world Haskell和All about monads对此有很好的介绍。要完成你的monad培训,学习monad变压器是必须的。这些可以让你将不同类型的monad(比如Reader和State monad)组合成一个。这可能一开始看起来没有用,但是使用它们一段时间后,你会想知道没有它们你是怎么生活的。