diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-01-06 22:29:07 +0100 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-01-07 22:39:03 +0100 |
| commit | 401b4c233d12763853877d4c31a2cf4342ca87b6 (patch) | |
| tree | f6316d50ff413c73776f9d6c697deaef369cb1db /src/Script/Expr.hs | |
| parent | 0c21217fa599a7496a17d22c5105ef584785c350 (diff) | |
Call stack for the ‘expect’ statement
Diffstat (limited to 'src/Script/Expr.hs')
| -rw-r--r-- | src/Script/Expr.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Script/Expr.hs b/src/Script/Expr.hs index bd84a70..1a0f458 100644 --- a/src/Script/Expr.hs +++ b/src/Script/Expr.hs @@ -20,6 +20,7 @@ module Script.Expr ( Traced(..), EvalTrace, CallStack(..), VarNameSelectors, gatherVars, AppAnnotation(..), + callStackVarName, callStackFqVarName, module Script.Var, @@ -179,7 +180,7 @@ eval = \case gdefs <- askGlobalDefs dict <- askDictionary return $ FunctionType $ \stack _ -> - runSimpleEval (eval expr) gdefs (( callStackVarName, someConstValue stack ) : dict) + runSimpleEval (eval expr) gdefs (( callStackVarName, someConstValue stack ) : filter ((callStackVarName /=) . fst) dict) FunctionEval sline efun -> do vars <- gatherVars efun CallStack cs <- maybe (return $ CallStack []) (fromSomeVarValue (CallStack []) callStackFqVarName) =<< tryLookupVar callStackFqVarName |