【发布时间】:2010-09-21 16:51:24
【问题描述】:
我正在尝试通过编写小程序来学习 Haskell……所以我目前正在为简单的表达式编写一个词法分析器/解析器。 (是的,我可以使用 Alex/Happy...但我想先学习核心语言)。
我的解析器本质上是一组构建树的递归函数。在语法错误的情况下,我通常会抛出异常(即,如果我用 C# 编写),但在 Haskell 中似乎不鼓励这样做。
那么有什么选择呢?我真的不想在解析器的每一位中测试错误状态。我想要么得到一个有效的节点树,要么得到一个带有详细信息的错误状态。
【问题讨论】:
标签: haskell exception-handling recursion