Perlude::Lazy
An experimentation of implementing real lazy lists in Perl5. For real world usecases, please use Perlude instead.
SYNOPSIS
Haskell prelude miss you when you write perl stuff? Perlude is a port of the most common keywords. Some other keywords where added when there is no haskell equivalent.
Example: in haskell you can write
nat = [0..]
is_even x = ( x `mod` 2 ) == 0
evens = filter is_even
main = mapM_
$ take 10
$ evens nat
in perlude, the same code will be:
use
Perlude;
my
$nat
= enlist { state
$x
= 0;
$x
++ };
sub
is_even { (
$_
% 2) == 0 }
sub
evens { filter {is_even}
shift
}
traverse {
say
} take 10, evens
$nat
FUNCTIONS
all the Perlude documentation is relevent. just replace sub by enlist