diff --git a/shared/sx/ref/run_continuation_tests.py b/shared/sx/ref/run_continuation_tests.py index 8a7729e..1164266 100644 --- a/shared/sx/ref/run_continuation_tests.py +++ b/shared/sx/ref/run_continuation_tests.py @@ -35,8 +35,13 @@ finally: from shared.sx.parser import parse_all from shared.sx.types import NIL -eval_expr = mod.eval_expr -trampoline = mod.trampoline +# Use tree-walk evaluator for interpreting .sx test files. +# CEK is now the default, but test runners need tree-walk so that +# transpiled HO forms (ho_map, etc.) don't re-enter CEK mid-evaluation. +eval_expr = mod._tree_walk_eval_expr +trampoline = mod._tree_walk_trampoline +mod.eval_expr = eval_expr +mod.trampoline = trampoline env = mod.make_env() # Platform test functions diff --git a/shared/sx/ref/run_signal_tests.py b/shared/sx/ref/run_signal_tests.py index 89a5eea..abcfb5d 100644 --- a/shared/sx/ref/run_signal_tests.py +++ b/shared/sx/ref/run_signal_tests.py @@ -14,8 +14,13 @@ sys.path.insert(0, _PROJECT) from shared.sx.parser import parse_all from shared.sx.ref import sx_ref -from shared.sx.ref.sx_ref import eval_expr, trampoline, make_env, scope_push, scope_pop, sx_context +from shared.sx.ref.sx_ref import make_env, scope_push, scope_pop, sx_context from shared.sx.types import NIL, Island, Lambda +# Use tree-walk evaluator for interpreting .sx test files. +eval_expr = sx_ref._tree_walk_eval_expr +trampoline = sx_ref._tree_walk_trampoline +sx_ref.eval_expr = eval_expr +sx_ref.trampoline = trampoline # Build env with primitives env = make_env() diff --git a/shared/sx/ref/run_type_tests.py b/shared/sx/ref/run_type_tests.py index 8a63f0f..7ff2339 100644 --- a/shared/sx/ref/run_type_tests.py +++ b/shared/sx/ref/run_type_tests.py @@ -8,8 +8,16 @@ _PROJECT = os.path.abspath(os.path.join(_HERE, "..", "..", "..")) sys.path.insert(0, _PROJECT) from shared.sx.parser import parse_all -from shared.sx.ref.sx_ref import eval_expr, trampoline, make_env, env_get, env_has, env_set +from shared.sx.ref import sx_ref +from shared.sx.ref.sx_ref import make_env, env_get, env_has, env_set from shared.sx.types import NIL, Component +# Use tree-walk evaluator for interpreting .sx test files. +# CEK is now the default, but the test runners need tree-walk so that +# transpiled HO forms (ho_map, etc.) don't re-enter CEK mid-evaluation. +eval_expr = sx_ref._tree_walk_eval_expr +trampoline = sx_ref._tree_walk_trampoline +sx_ref.eval_expr = eval_expr +sx_ref.trampoline = trampoline # Build env with primitives env = make_env()