logo
首页技术栈工具库讨论
MHask

MHask

MHask is the category where The objects are Haskell types of kind (* → *) that have an instance of Prelude.Monad An arrow from object m to object n is a Haskell function of the form (forall x. m x → n x) Arrow composition is merely a specialization of Haskell function composition The identity arrow for the object m is the Prelude.id function in Haskell, specialized to (forall x. m x → m x) It is assumed that any instances of the classes provided here also have an instance for Monad of the form instance (Monad m) ⇒ Monad (t m), thus guaranteeing that (t m) (or (t i j m) for the indexed types) is always a Monad. If it were valid Haskell, I'd write: MHask.Functor.Functor should actually be called Endofunctor, because if m is an object in MHask, then an instance t of Functor can map object m to object (t m), and arrows from m to n get mapped to arrows from (t m) to (t n).
由 
bruceshi2021-01-13 收录
--
推荐
不推荐
更多信息
GitHub iconDanBurton/MHask2
HACKAGE
carbal install MHask
查看
标签
根据用户添加的标签生成
暂无标签