forall id in 1,2,3 do print i; endl; done;This is actually a shortcut for:
macro for val i in in 1,2,3 do print i; endl; done;which generates:
print 1; endl; print 2; endl; print 3; endl;The generic iterator is built from a combination of user defined syntax and the syntax macro processor.