Parser: jp-parse-for-stmt does 2-token lookahead for (var? ident (of|in) expr), emits (js-for-of-in kind ident iter body) else classic (js-for init cond step body). Transpile: wraps body in (call/cc (__break__) (let items (for-each (fn (ident) (call/cc (__continue__) body)) items))). Runtime: js-iterable-to-list normalizes list/string/dict for of iteration; js-string-to-list expands string to char list. 399/401 unit (+8), 148/148 slice unchanged.
34 KiB
34 KiB