summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Svedäng <erik.svedang@gmail.com>2021-01-11 13:22:26 +0100
committerGitHub <noreply@github.com>2021-01-11 13:22:26 +0100
commit6d2dde8bea512f3500631ae082aafbd5b84d86b9 (patch)
treeede6ec72e22bec1ea2c1efa7831624419b9bdb59
parent2db218353c945dd236815f6689683675c5e2cbf1 (diff)
Revert "eval: fix resolve semantics for successive evaluation (#1116)"revert-1116-veit/fix-eval-static-semantics
This reverts commit 2db218353c945dd236815f6689683675c5e2cbf1.
-rw-r--r--src/Eval.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Eval.hs b/src/Eval.hs
index a1272917..93d7767c 100644
--- a/src/Eval.hs
+++ b/src/Eval.hs
@@ -282,7 +282,7 @@ eval ctx xobj@(XObj o info ty) preference resolver =
\case
err@(Left _) -> pure err
Right ctx' -> do
- (newCtx, res) <- eval ctx' x preference resolver
+ (newCtx, res) <- eval ctx' x preference ResolveLocal
case res of
Right okX -> do
let binder = Binder emptyMeta (XObj (Lst [XObj LetDef Nothing Nothing, XObj (Sym (SymPath [] n) Symbol) Nothing Nothing, okX]) Nothing (xobjTy okX))
@@ -383,10 +383,10 @@ eval ctx xobj@(XObj o info ty) preference resolver =
pure (popFrame newCtx', res)
x -> pure (newCtx, x)
x@(XObj (Sym _ _) i _) : args -> do
- (newCtx, f) <- eval ctx x preference resolver
+ (newCtx, f) <- eval ctx x preference ResolveLocal
case f of
Right fun -> do
- (newCtx', res) <- eval (pushFrame ctx xobj) (XObj (Lst (fun : args)) i ty) preference resolver
+ (newCtx', res) <- eval (pushFrame ctx xobj) (XObj (Lst (fun : args)) i ty) preference ResolveLocal
pure (popFrame newCtx', res)
Left err -> pure (newCtx, Left err)
XObj With _ _ : xobj'@(XObj (Sym path _) _ _) : forms ->
@@ -401,7 +401,7 @@ eval ctx xobj@(XObj o info ty) preference resolver =
successiveEval' (ctx', acc) x =
case acc of
err@(Left _) -> pure (ctx', err)
- Right _ -> eval ctx' x preference resolver
+ Right _ -> eval ctx' x preference ResolveLocal
[XObj While _ _, cond, body] ->
specialCommandWhile ctx cond body
[XObj Address _ _, value] ->
@@ -445,7 +445,7 @@ eval ctx xobj@(XObj o info ty) preference resolver =
case acc of
Left _ -> pure (ctx', acc)
Right l -> do
- (newCtx, evald) <- eval ctx' x preference resolver
+ (newCtx, evald) <- eval ctx' x preference ResolveLocal
pure $ case evald of
Right res -> (newCtx, Right (l ++ [res]))
Left err -> (newCtx, Left err)