gpt4 book ai didi

Haskell 编译错误

转载 作者:行者123 更新时间:2023-12-02 10:50:47 25 4
gpt4 key购买 nike

我在 haskell 中遇到一个奇怪的错误,它指向我的调试器 ex 中的 dropWhile 的中间:
输入'='上的解析错误
无法加载模块。

代码:

identifyFilter :: String -> (Filter, String)
identifyFilter ('"':xs) | not null rest = (filter, rest1)
| otherwise = error "Invalid input"
where (field, rest) = break (=='"') xs
(cond, rest1) = break (=='"') (tail (dropWhile (/= '"') (tail rest)))
filter = ( FieldName field , identifyParsers cond)
identifyFilter ('@':xs) | not null rest = (filter, rest1)
| otherwise = error "Invalid input"
where (index, rest)(reads xs) :: [(Int,String)]
(cond, rest1) = break (=='"') (tail (dropWhile (/= '"') (tail rest)))
filter = (FieldIndex index , identifyParsers cond)
identifyFilter (x:xs) = error "Invalid input"

我不知道是什么导致了错误,尤其是当它指向单词的中间时。
如果需要更多请询问。
任何建议都会有所帮助

最佳答案

where   (index, rest)(reads xs) :: [(Int,String)]

完全坏了,也许 (index, rest) = head (reads xs :: [(Int, String)]) ??无论如何,这会导致该行或以下行的解析错误。

另一方面,条件
| not null rest = ...

需要括号
| not (null rest) = ...

但这应该给出类型错误,而不是解析错误。

关于Haskell 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8495512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com