From: Samir Benmendil Date: Sat, 20 Jan 2018 22:22:42 +0000 (+0000) Subject: Using where for parsing inner characters X-Git-Url: https://git.rmz.io/my-scheme.git/commitdiff_plain/0a6833657330f8514c235e672b1d4dc6e1ec7ad5?ds=sidebyside Using where for parsing inner characters This should make it somewhat easier to add more parsers and support '\"', '\n', etc --- diff --git a/app/Main.hs b/app/Main.hs index 233fa6c..cea4c9b 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -18,11 +18,11 @@ spaces :: Parser () spaces = skipMany space parseString :: Parser LispVal -parseString = do - char '"' - x <- many (noneOf "\"") - char '"' - return $ String x +parseString = do char '"' + x <- many innerChar + char '"' + return $ String x + where innerChar = noneOf "\"" parseAtom :: Parser LispVal parseAtom = do