Oma*_*ena 30 haskell monad-transformers category-theory
作为一名数学学生,我在Haskell学习monads时所做的第一件事就是检查它们是否真的是我知道的monad.但后来我了解了monad变换器,而那些似乎并不是类别理论研究的东西.
特别是我希望它们与分配法有关,但它们似乎真正不同:monad变换器预计适用于任意monad,而分配法则是monad和特定其他monad之间的事情.
另外,在看单子变压器的通常实施例中,而MaybeT m
构成m
与Maybe
,StateT m
不是的组合物m
与State
任一次序.
所以我的问题是什么是分类语言中的monad变换器?
Monad变压器在数学上并不十分令人愉悦.但是,我们可以从免费的monad中获得好的(co)产品,更常见的是理想的monad:参见Ghani和Uustalu的"理想Monads的副产品":http://citeseerx.ist.psu.edu/viewdoc/summary?doi = 10.1.1.4.2698