WHILE function implements a while loop. It takes two macros as arguments from the stack: the condition macro to evaluate and the macro to execute while the condition is true.
If one iteration takes too long (
warpscript.maxloop) the loop will be killed.
Since Warp 10 2.4.0, you can force WHILE to push an index (iteration count, start at 0) on the top of the stack before calling the macro.