Lazyness Lazyness is a collection of functions to make the closures easy to create and pipe. It uses haskell keywords as often as it can ( take, takeWhile, cycle, filter, fold, mapM, mapM_, ...) In real world, Lazyness = on-demand + memoization In haskell, it's something like: type Lazy a = IORef (Either (() -> a) a) Lazyness.pm is more than OCaml Steams as it only implements On demand (i would like to figure out how to use memoization without adding a structure level to the code). TODO some new functions where pushed 'as it' from scripts i wrote using Lazyness. They have to be tested and documented. INSTALLATION To install this module, run the following commands: perl Build.PL ./Build ./Build test ./Build install SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc Lazyness You can also look for information at: RT, CPAN's request tracker http://rt.cpan.org/NoAuth/Bugs.html?Dist=Lazyness AnnoCPAN, Annotated CPAN documentation http://annocpan.org/dist/Lazyness CPAN Ratings http://cpanratings.perl.org/d/Lazyness Search CPAN http://search.cpan.org/dist/Lazyness COPYRIGHT AND LICENCE Copyright (C) 2010 Marc Chantreux This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.