diff --git a/interp.hs b/interp.hs index f9ec13e..f2d23e1 100644 --- a/interp.hs +++ b/interp.hs @@ -49,6 +49,7 @@ bind (env:xs) name value = (M.insert name value env):xs instance Show Value where show (IntV i) = show i show (StrV s) = show s + show (BoolV b) = show b show (TupleV v) = "(" ++ intercalate "," (map show v) ++ ")" show (ListV v) = show v show (FnV _ _) = "" diff --git a/parser.hs b/parser.hs index 69db908..b3e8e24 100644 --- a/parser.hs +++ b/parser.hs @@ -154,7 +154,7 @@ expr' = try block <|> parens exprparser <|> listSeq exprparser ListConst <|> try ifExpr - <|> bool + <|> try bool <|> fmap Var identifier <|> fmap StrConst stringLiteral <|> fmap IntConst integer