haskell - 错误类型类的使用

标签 haskell error-handling typeclass

Error 类型类有什么用:

class Error a where
    noMsg :: a
    strMsg :: String -> a

还有另一个名为 MonadError 的类型类,它在单子(monad)计算中有意义。但是Error用在哪里呢?我还没有在任何地方看到 noMsgstrMsg 的用法。

最佳答案

由于历史原因,Monad m 类型类包含 fail::String -> m a。为了让 Either e 实现这样的方法,我们必须有一种方法将 String 转换为 eError 类型类的发明是为了通过 strMsg 实现这一点。添加 noMsg 带来了额外的便利。

关于haskell - 错误类型类的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20923322/

相关文章:

javascript - jquery settimeout 和 .focus() 一起不能在 firefox 浏览器中工作

scala - 如何编写具有上下文边界的一流函数,可以在使用现场干净地调用?

scala - 使用 Scala 的结构类型创建更具体的隐式

haskell - 如何在 Haskell 中调用 "extend"类

haskell - 在 NixOS 中,如何从命令行运行 Haskell 可执行文件?

haskell - GHC 如何推断此 GADT 的预期类型?

haskell - 在haskell中将一系列数字连接成一个整数

haskell - 在 Haskell 中创建一个简单的数组

python - Python : list index out of range error

php - Savant3 模板引擎错误,检查 fetch() 结果