Monad变形金刚图书馆 - 哪一个使用?

Ten*_*ner 28 monads haskell functional-programming monad-transformers

Hackage上有许多不同的monad变换器库.有些人似乎比其他人更受关注.仅举几例:mtl(由于某种原因取决于变压器的当前版本),变压器,monadLib,monads-tf,mtlx,contstuff.

应该首选哪一个?为什么?它们的独特之处是什么?性能怎么样?

Don*_*art 17

哈斯克尔平台规定mtltransformers标准.

如果你不确定,你应该使用mtl.

但是,如果您有特定的技术理由来查看新库,它们往往会解决问题或添加新功能mtl.monadLib特别是有一些新功能.

  • 而且,当前的mtl实际上是monads-fd包重命名的.它在很大程度上与旧的mtl兼容,同时避免了一些重复.(例如State是StateT的别名),它建立在变换器包之上,为那些不想或不能走出小语言的人提供更小的Haskell 98核心. (8认同)
  • 惠普选择mtl背后的理由是什么? (2认同)
  • ...其中,[通过Hackage依赖项](http://bifunctor.homelinux.net/~roel/hackage/packages/archive/revdeps-list.html),"最广泛使用"意味着"类似于除了"变形金刚"之外,所有其他人的数量都超过了. (2认同)