In Seq§
See primary documentation in context for method from-loop.
multi method from-loop(&body, :$label) multi method from-loop(&body, &cond, :$repeat!, :$label) multi method from-loop(&body, &cond, :$label) multi method from-loop(&body, &cond, &afterwards, :$label)
These methods create new Seq-based callbacks.
In general, it produces an infinite Seq by calling &body each time a new element is requested, using the return value from &body as the item. This emulates (or implements) a loop { body } construct.
When the multi includes &cond, it's invoked before each call to &body, and terminates the sequence if &cond returns a false value. If $repeat is set to a true value, the first call to &cond is omitted, and &body called right away. This emulates (or implements) while cond { body } and repeat { body } while cond loops.
If present, &afterward will be called after each call to &body.