我曾经使用解析器组合库polyparse
编写代码。
我可以通过ghci调试器看到中间的评估结果,但它仅限于我的代码使用的内容。换句话说,我无法检查polyparse
Parser
monad的内部信息。
例如,我只能看到解析器处理的一个字符,但不能更多。很难确切地知道解析器的解析位置。在其他情况下,有一段时间我误解了polyparse
的功能,由于monad评估的不透明性,需要很长时间才能修复它。
我甚至解压缩polyparse
包并将断点设置为Parser
monad实例,但它不允许。
也许使用其他好的库可以作为替代方案之一,但我想知道那里有polyparse
库和普通库的解决方案。