aboutsummaryrefslogtreecommitdiff
path: root/src/Haskell/Parser.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Haskell/Parser.hs')
-rw-r--r--src/Haskell/Parser.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Haskell/Parser.hs b/src/Haskell/Parser.hs
index 0f55a63..e7b9535 100644
--- a/src/Haskell/Parser.hs
+++ b/src/Haskell/Parser.hs
@@ -94,7 +94,7 @@ pType = foldr1 TyFun <$> pSimpleType `sepBy` reservedOp "->"
pExpr :: Parser Expr
pExpr = pLam <|> pCase <|> pApp
where
- pSimpleExpr = choice [LitNum <$> integer
+ pSimpleExpr = choice [Num <$> integer
,Ref <$> (identifier <|> try (parens operator))
,parens pExpr]
@@ -108,10 +108,10 @@ pExpr = pLam <|> pCase <|> pApp
pCase = do
reserved "case"
- n <- varident
+ e <- pExpr
reserved "of"
arms <- bracesBlock (semiSepOrFoldedLines pCaseArm)
- return $ Case n arms
+ return $ Case e arms
pCaseArm = do
pat <- pLargePat