From: Samir Benmendil Date: Sun, 14 Jan 2018 16:55:02 +0000 (+0000) Subject: Using the "bind" operator X-Git-Url: https://git.rmz.io/my-scheme.git/commitdiff_plain/537e327f072fb094316845a5e3105f4fbb1aa385 Using the "bind" operator The `do..` block seems easier --- diff --git a/app/Main.hs b/app/Main.hs index 87b94aa..88ae7f7 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -34,10 +34,9 @@ parseAtom = do _ -> Atom atom parseNumber :: Parser LispVal -parseNumber = do - ds <- many1 digit - let a = read ds - return $ Number a +parseNumber = many1 digit >>= \ ds -> + let a = read ds + in return $ Number a parseExpr :: Parser LispVal parseExpr = parseString