此问题已经在这里有了答案:
看MonadError
的定义
class (Monad m) => MonadError e m | m -> e where
-- | Is used within a monadic computation to begin exception processing.
throwError :: e -> m a
我想知道,如何阅读m -> e
?这是什么意思?
这称为功能依赖性。它记录在这里https://wiki.haskell.org/Functional_dependencies