From 4d570df59e15deb3b96e402b6cc5f678a84f9c10 Mon Sep 17 00:00:00 2001 From: Ian Piumarta Date: Sun, 12 May 2024 07:58:22 +0900 Subject: [PATCH] ForToFrom performs update step after continue. --- minproto.leg | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/minproto.leg b/minproto.leg index b7738ea..3063401 100644 --- a/minproto.leg +++ b/minproto.leg @@ -1,6 +1,6 @@ # minproto.leg -- minimal prototype langauge for semantic experiments # -# last edited: 2024-05-11 20:13:21 by piumarta on zora +# last edited: 2024-05-12 07:57:37 by piumarta on zora %{ ; @@ -1962,12 +1962,13 @@ oop ForFromTo_eval(oop exp, oop env) long stop = integerValue(last, "for"); long step = start < stop ? 1 : -1; oop result = nil; + start -= step; LOOP(); for (;;) { + start += step; Object_put(env2, identifier, newInteger(start)); result = eval(body, env2); if (start == stop) break; - start += step; } DONE(); return result;