From fdf392b53fcb79011255fafc5991c8ad7af0abb0 Mon Sep 17 00:00:00 2001 From: Moritz Gmeiner Date: Tue, 27 Aug 2024 18:31:23 +0200 Subject: [PATCH] fixed scoping in For loop --- lib/interpreter.ml | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/interpreter.ml b/lib/interpreter.ml index f603109..a598516 100644 --- a/lib/interpreter.ml +++ b/lib/interpreter.ml @@ -125,6 +125,7 @@ let rec interpret_stmt (env : environment) (stmt_node : stmt_node) : (unit, runt | Error e -> Error e else Ok () | For { init; cond; update; body } -> + let env = Env.enter env in let* _ = init |> Option.map (interpret_stmt env) |> Option.value ~default:(Ok ()) in let eval_cond () = cond