It seems this is caused by a weird readExpr definition:
readExpr :: String -> Maybe Expr
readExpr str = do
let str' = filter (not . isSpace) str
in case parse expr str' of
Just (n, "") -> Just n
_ -> Nothing
this becomes
readExpr str
= do let str' = filter (not . isSpace) str
in
case parse expr str' of
Just (n, "") -> Just n
_ -> Nothing
in the fake trace after we've got the counter-examples, which fails with a parseError
this parses however:
readExpr str
= do let str' = filter (not . isSpace) str
in case parse expr str' of
Just (n, "") -> Just n
_ -> Nothing
I'm not sure this is on us... seems more like an issue with mixing let and do and the layout not being properly preserved.
It seems this is caused by a weird
readExpr
definition:this becomes
in the fake trace after we've got the counter-examples, which fails with a
parseError
this parses however:
I'm not sure this is on us... seems more like an issue with mixing
let
anddo
and the layout not being properly preserved.