module outer { static m as long=100 // if m not exist created module count (&a(), b) { long c=1 do if b(c) then exit call a(c) c++ always } long z, i=100 // function k used as call back function, through lazy$() function k { read new i print i // print 1 and 2 z+=i m++ } count lazy$(&k()), (lambda (i)->i>=3) print z=3, i=100, m } clear // clear variables (and static variables) from this point outer // m is 102 outer // m is 104 outer // m is 106