Perl 6 More laziness and lists #12

A basic challenge of iterators

sub mymap(@list, &block) {
    my $i = 0;
    my @result;
    while $i < @list.elems {
        push @result, &block(@list[$i]);
        $i = $i + 1;
    }
    @result;
}

What happens if called as ...?

mymap($file.lines, &block)

 @list ends up holding all of the lines read from $file

 mymap isn't acting like a pipeline filter

Copyright © 2012
http://www.pmichaud.com/2012/pres/