summaryrefslogtreecommitdiff
path: root/src/Parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/Parser')
-rw-r--r--src/Parser/Expr.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Parser/Expr.hs b/src/Parser/Expr.hs
index 4603dda..89fa208 100644
--- a/src/Parser/Expr.hs
+++ b/src/Parser/Expr.hs
@@ -560,5 +560,12 @@ applyFunctionArguments args sexpr@(SomeExpr (expr :: Expr a))
typeExpr :: TestParser SomeExprType
typeExpr = do
off <- stateOffset <$> getParserState
- name <- constrName <?> "type constructor name"
- lookupType off name
+ choice
+ [ do
+ name <- constrName <?> "type constructor name"
+ lookupType off name
+ , do
+ between (symbol "[") (symbol "]") $ do
+ inner <- typeExpr
+ return $ ExprTypeApp (ExprTypeConstr1 (Proxy :: Proxy [])) [ inner ]
+ ]