diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-27 18:32:42 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-27 23:04:38 +0200 |
| commit | d8420a37ffe9e752816b071fced4a972ca1fad23 (patch) | |
| tree | f1e2d8e8b8ec6f547c5ab0e665965eb9a207294a /src | |
| parent | 74c751399fc7922d51b2ac8e1987c78b5a65cfdc (diff) | |
Remove requirement of primitive type for context
Diffstat (limited to 'src')
| -rw-r--r-- | src/Parser/Core.hs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Parser/Core.hs b/src/Parser/Core.hs index d1826e1..37c6f12 100644 --- a/src/Parser/Core.hs +++ b/src/Parser/Core.hs @@ -329,11 +329,9 @@ evalRemainingArguments off (FunctionArguments remaining) expr = do arg@( _, SomeArgumentType RequiredArgument _ ) -> err $ "missing " <> showType arg <> " argument" ( _, SomeArgumentType OptionalArgument _ ) -> return Nothing ( kw, SomeArgumentType (ExprDefault def) _ ) -> return $ Just ( kw, def ) - ( kw, SomeArgumentType ContextDefault (ExprTypePrim atype) ) -> do - SomeExpr context <- gets testContext - context' <- unifyExpr off atype context - return $ Just ( kw, SomeExpr context' ) - ( _, SomeArgumentType ContextDefault _ ) -> err "non-primitive context requirement" + ( kw, SomeArgumentType ContextDefault atype ) -> do + context <- unifySomeExpr off atype =<< gets testContext + return $ Just ( kw, context ) sline <- getSourceLine return (FunctionEval sline $ ArgsApp (FunctionArguments $ M.fromAscList defaults) expr) |