Iterate immediately as fast as possible
use CPS qw( gkforeach ); use CPS::Governor::Simple; my $gov = CPS::Governor::Simple->new; gkforeach( $gov, [ 1 .. 10 ], sub { my ( $item, $knext ) = @_; print "$item\n"; goto &$knext; }, sub {}, );
This CPS::Governor allows the functions using it to run as fast as possible. It invokes its continuations immediately using a tailcall, so as not to let the stack grow arbitrarily.
Its constructor takes no special arguments, and it provides no other methods beyond those of \*(C`CPS::Governor\*(C'.
Paul Evans <[email protected]>