diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Parser/Expr.hs | 11 |
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 ] + ] |