From 3640256e80ba1aa1c1e022a231234dee814ace58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 15 Feb 2025 20:38:39 +0100 Subject: Collect and evaluate global definitions together --- src/Parser.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Parser.hs') diff --git a/src/Parser.hs b/src/Parser.hs index 174babb..94e9a12 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -68,7 +68,7 @@ parseDefinition = label "symbol definition" $ do atypes' <- getInferredTypes atypes L.IndentNone . ( name, ) . SomeExpr . ArgsReq atypes' . FunctionAbstraction <$> replaceDynArgs expr ] - modify $ \s -> s { testVars = ( name, ( LocalVarName name, someExprType expr )) : testVars s } + modify $ \s -> s { testVars = ( name, ( GlobalVarName (testCurrentModuleName s) name, someExprType expr )) : testVars s } return def where getInferredTypes atypes = forM atypes $ \( off, vname, tvar@(TypeVar tvarname) ) -> do @@ -169,7 +169,7 @@ parseTestFile parsedModules moduleName path = do Nothing -> do let initState = TestParserState { testVars = concat - [ map (\( name, value ) -> ( unqualifyName name, ( name, someVarValueType value ))) builtins + [ map (\(( mname, name ), value ) -> ( name, ( GlobalVarName mname name, someVarValueType value ))) $ M.toList builtins ] , testContext = SomeExpr (Undefined "void" :: Expr Void) , testNextTypeVar = 0 -- cgit v1.2.3