解析錯誤是目前我最喜歡的類型哈斯克爾錯誤的。所以我寫一個函數在那裏我得到對的列表,其中第二部分包含一些變量(這是由我以前在我的代碼vars :: a -> [String]
定義vars
確定。如果列表爲空,則沒有任何自由變量和替代被視爲解決。檢查可用變量
我已經這樣做了,但我發現一個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)]
我鄙視分析錯誤因爲它需要永遠弄清楚什麼是錯的(哈哈)。任何人的想法?
是的這是小事情。謝謝! – Bobo
現在我得到的是沒有實例在'not(null $ vars d)' – Bobo
中使用變量引起的,那麼'vars'函數的功能是什麼?我從你的代碼中拿出了'null(vars d)'。也許你需要在'solved'背景下,沿着'解決:: SomeClass的一個=> SUBST一個的線 - > Bool'。 –