From dc35484a906c23592e0170f051d74265ed2e8b46 Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Sun, 14 Jan 2018 16:26:47 +0000 Subject: [PATCH] Use do to parse numbers This is not necessarily better than the `liftM` method (probably isn't). --- app/Main.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Main.hs b/app/Main.hs index 58017c5..87b94aa 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -34,7 +34,10 @@ parseAtom = do _ -> Atom atom parseNumber :: Parser LispVal -parseNumber = liftM (Number . read) $ many1 digit +parseNumber = do + ds <- many1 digit + let a = read ds + return $ Number a parseExpr :: Parser LispVal parseExpr = parseString -- 2.48.1