解析错误是目前我最不喜欢的 Haskell 错误类型。所以我正在编写一个函数,在其中我得到一个对列表,其中第二个组件包含一些变量(这取决于vars
我之前在我的代码中定义为vars :: a -> [String]
。如果列表为空,则没有任何自由变量,并且替换被认为已解决。
我已经这样做了,但我得到了一个parse error on '|'
solved :: Subst a -> Bool
solved xs = null [(S(xs,d) | (S(xs,d)) <- xs, not (null (vars d)))]
我之前将我的数据类型定义为
data Subst a = S [(String,a)]
我鄙视解析错误,因为要花很长时间才能找出问题所在(笑)。任何人的任何想法?