Я получаю странную ошибку в haskell, которая указывает на середину 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"
Я не имею ни малейшего понятия, что может быть причиной ошибки, особенно когда она указывает на середину слова.
Если требуется больше, пожалуйста, спросите.
Любые предложения помогут