Perlude::Lazy(3pm) | User Contributed Perl Documentation | Perlude::Lazy(3pm) |
An experimentation of implementing real lazy lists in Perl5. For real world usecases, please use Perlude instead.
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_ print $ 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
all the Perlude documentation is relevant. just replace sub by enlist
2023-02-03 | perl v5.36.0 |