NAME
List::Generator - provides functions for generating lists
VERSION
version 0.974
SYNOPSIS
this module is an alias for List::Gen. it is the same as List::Gen in every way.
use List::Generator;
my $range = <1 .. 1_000_000_000 by 3>;
my $squares = gen {$_ ** 2} <1..>;
my $fib = <0, 1, *+* ...>;
say "@$fib[0 .. 10]"; # 0 1 1 2 3 5 8 13 21 34 55
list(1 .. 5)->map('*2')->say; # 2 4 6 8 10
<1..>->zip('.' => <a..>)->say(5); # 1a 2b 3c 4d 5e
each line below prints '1 9 25 49 81'
:
functions: (gen {$_**2} filter {$_ % 2} 1, 10)->say;
list comprehensions: <**2 for 1 .. 10 if odd>->say;
dwimmy methods: <1..10>->grep('odd')->map('**2')->say;
normal methods: range(1, 10)->grep(sub {$_%2})->map(sub {$_**2})->say;
LINKS
see List::Gen for core documentation.
see List::Gen::Benchmark for performance tips.
see List::Gen::Cookbook for usage tips.
see List::Gen::Haskell for an experimental implementation of haskell's lazy list behavior.
see List::Gen::Lazy for the tools used to create List::Gen::Haskell.
see List::Gen::Lazy::Ops for some of perl's operators implemented as lazy haskell like functions.
see List::Gen::Lazy::Builtins for most of perl's builtin functions implemented as lazy haskell like functions.
see List::Gen::Perl6 for a source filter that adds perl6's meta operators to use with generators, rather than the default overloaded operators
AUTHOR
Eric Strom, <asg at cpan.org>
COPYRIGHT & LICENSE
copyright 2009-2011 Eric Strom.
this program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
see http://dev.perl.org/licenses/ for more information.