【发布时间】:2015-04-15 02:41:30
【问题描述】:
给定以下Typeclassopedia 练习:
--Implement join :: M (N (M (N a))) -> M (N a),
--given distrib :: N (M a) -> M (N a) and
--assuming M and N are instances of Monad.
distrib :: (Monad m, Monad n) => n (m a) => m (n a)
distrib = undefined
我收到以下编译时错误。
ghci> :l MonadTransformers.hs
[1 of 1] Compiling Main ( MonadTransformers.hs, interpreted )
MonadTransformers.hs:7:34:
Expected a constraint, but `n (m a)' has kind `*'
In the type signature for `distrib':
distrib :: (Monad m, Monad n) => n (m a) => m (n a)
Failed, modules loaded: none.
我该如何解决?
【问题讨论】:
标签: haskell