在我的调试器ex中,haskell指向dropWhile中间的一个奇怪错误: 解析错误输入'=' 加载模块失败。Haskell编译错误
代码:
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"
我有没有可能什么线索可能是一个特别引起错误时,它指向到一个字的中间。 如果需要更多,请询问。 任何建议将有助于
GHCi接受我的线(用'let'代替'where')。问题可能在其他地方。 – ibid
一个简短但完整的代码示例在编译时会产生精确的错误,这很好。 – sepp2k
是否有任何前面/后面的行在'dropWhile'中间的上方/下方有一个'='?如果是这样,他们是什么? – dave4420