Haskell中的Writer与WriterT

时间:2011-10-03 01:23:57

标签: haskell monads

Haskell中WriterWriterT之间有什么区别?一个人比另一个更受欢迎吗?

2 个答案:

答案 0 :(得分:16)

不同之处在于Writer是一个monad,而WriterT是一个monad transformer,即你给它一些潜在的monad,并且它会给你一个带有“writer”的新monad顶部的功能。如果您只需要特定于作者的功能,请使用Writer。如果您需要将其效果与其他一些monad结合使用,例如IO,请使用WriterT

答案 1 :(得分:4)

除了上面的优秀解释之外,我还想指出这篇论文。帮助了我很多:

Monad Transformers Step By Step