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;