aboutsummaryrefslogtreecommitdiff
path: root/src/Haskell/Parser.hs
diff options
context:
space:
mode:
authorTom Smeding <tom.smeding@gmail.com>2020-05-23 11:40:06 +0200
committerTom Smeding <tom.smeding@gmail.com>2020-05-23 11:40:06 +0200
commit243f4f5b58014159be0c4dd7b0fc5c0a8021fd3c (patch)
tree18b2040043382fa4ca3f6615047b3e446812678c /src/Haskell/Parser.hs
parentf85f5515486504c9c3401332269a0dda20c96f1d (diff)
Don't parse Constructors as variables
Diffstat (limited to 'src/Haskell/Parser.hs')
-rw-r--r--src/Haskell/Parser.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Haskell/Parser.hs b/src/Haskell/Parser.hs
index bd10705..9ebf2af 100644
--- a/src/Haskell/Parser.hs
+++ b/src/Haskell/Parser.hs
@@ -36,6 +36,7 @@ pExpr = pLam <|> pCase <|> pApp
where
pSimpleExpr = choice [Num <$> pNum
,Ref <$> pVariable
+ ,Con <$> pNameT
,parens (pExpr `sepBy` symbolO ",") >>= \case
[ex] -> return ex
exs -> return $ Tup exs]
@@ -82,7 +83,7 @@ pNum = (char '-' >> (negate <$> pPositive)) <|> pPositive
where pPositive = read <$> many1 digit <* aheadW
pVariable :: Parser Name
-pVariable = pName <|> try (parens pOperator)
+pVariable = pNameV <|> try (parens pOperator)
pName :: Parser Name
pName = notReserved $ liftM2 (:) (satisfy isAlpha) pNameRest