← Back to context

Comment by jcparkyn

25 days ago

This is a little bit tricky because the parser has to distinguish between:

  for x in arr (something ())
           \                 /-- function call

and

  for x in arr (something ())
               \            /-- loop body

This is consequence of combining "blocks" and "precedence" into the same construct ().

A more fitting example would be to support:

  for x in arr do set z += x;
  for x in arr do something x;

IIRC these both currently require an explicit block in my parser.