Skip to content
  • Daniel Gackle's avatar
    Rewrote PS LOOP to support FOR..OF clauses that compile to JS for-in · 3ad85d7b
    Daniel Gackle authored
    loops (basically the equivalent of CL's "BEING THE HASH KEYS OF").
    
    Because JS for-in loops can't be simulated with WHILE, this required
    changing how LOOP generates code - with these additional benefits:
    simpler implementation; smaller generated loops; all iteration vars
    now within the scope of the JS loop form, so that the LOOP macro now
    has consistent scoping behavior with hard-coded FOR, WHILE, etc.
    (notably with respect to whether to generate a new binding per
    iteration for variables captured by a closure). There is also the
    disadvantage that for some complex loops a temporary local variable
    must be used to track whether the loop is on its first iteration or
    not.
    3ad85d7b