-- demo\rosetta\Generator_Exponential.exw without js -- tasks atom res bool terminate = false procedure powers(integer p) integer i = 0 while not terminate do res = power(i,p) task_suspend(task_self()) task_yield() i += 1 end while end procedure constant squares = task_create(powers,{2}), cubes = task_create(powers,{3}) atom square, cube task_schedule(cubes,1) task_yield() cube = res sequence snq = {} for i=1 to 30 do do task_schedule(squares,1) task_yield() square = res while cube20 then snq &= square end if end for ?snq terminate = 1 wait_key()