namespace range { typedef here = (int current, int end, int step); bool next_element(var range^ r, var int^ result) { if r^.current > r^.end return :false; result^ = r^.current; r^.current += r^.step; return :true; } } () test() { range r = (10, 20, 1); for int i in r { //printnum("%d ", i); } for int i in (0, 15, 3) as range { //printnum("%d ", i); } } // For trying it out /* linkname "printf" () printnum(byte^ s, int num); linkname "main" int main() { test(); return 0; } */