2
我在阅读Monad Transformers Step by Step。第6页,同时引入的Monad
一些子类,笔者给出了下面的代码示例:Haskell:|在类别声明中
class (Monad m) => MonadError e m | m -> e where
throwError :: e -> m a
catchError :: m a -> (e -> m a) -> m a
class (Monad m) => MonadReader r m | m -> r where
ask :: m r
local :: (r -> r) -> m a -> m a
什么是| m -> e
部分是什么意思?
同样是声明式的,但功能更强大的方式,当然? – 2013-03-04 21:24:23
也许我的意思是更明确。 – 2013-03-04 21:34:51
你能举一个例子说明如何使用类型族来表达函数依赖的概念吗?另外,对于后代,这里是[Haskell wiki类型家族页面]的链接(http://www.haskell.org/haskellwiki/GHC/Type_families)。 – 2013-03-04 21:43:28