From 01b21135a76f38c9b4ce6129fe9c7368f02a405a Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Mon, 28 Apr 2014 22:42:32 +1000 Subject: Simplifying slightly with Either monad --- src/Unlambda/Parser.hs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src/Unlambda') diff --git a/src/Unlambda/Parser.hs b/src/Unlambda/Parser.hs index 23bf723..4853d74 100644 --- a/src/Unlambda/Parser.hs +++ b/src/Unlambda/Parser.hs @@ -13,20 +13,14 @@ import Unlambda.Types parseUnlambda :: String -> Either ParseError UnlambdaTerm -parseUnlambda input = - let firstPass = parse removeComments "error" input - in case firstPass of - Left e -> Left e - Right o -> parse unlambda "error" o +parseUnlambda input = + parse removeComments "error" input >>= parse unlambda "error" parseUnlambda1 :: String -> Either ParseError UnlambdaTerm parseUnlambda1 input = - let firstPass = parse removeComments "error" input - in case firstPass of - Left e -> Left e - Right o -> parse unlambda1 "error" o + parse removeComments "error" input >>= parse unlambda1 "error" -- cgit