Haskell中Writer
和WriterT
之间有什么区别?一个人比另一个更受欢迎吗?
答案 0 :(得分:16)
不同之处在于Writer
是一个monad,而WriterT
是一个monad transformer,即你给它一些潜在的monad,并且它会给你一个带有“writer”的新monad顶部的功能。如果您只需要特定于作者的功能,请使用Writer
。如果您需要将其效果与其他一些monad结合使用,例如IO
,请使用WriterT
。
答案 1 :(得分:4)
除了上面的优秀解释之外,我还想指出这篇论文。帮助了我很多: