Author: wayland Date: 2008-11-27 23:40:00 +0100 (Thu, 27 Nov 2008) New Revision: 24098
Modified: docs/Perl6/Spec/S07-iterators.pod Log: Cleaned up text a little bit, hopefully clarified things. Modified: docs/Perl6/Spec/S07-iterators.pod =================================================================== --- docs/Perl6/Spec/S07-iterators.pod 2008-11-27 18:34:05 UTC (rev 24097) +++ docs/Perl6/Spec/S07-iterators.pod 2008-11-27 22:40:00 UTC (rev 24098) @@ -18,8 +18,15 @@ As we all know, one of the primary virtues of the Perl programmer is laziness. This is also one of the virtues of Perl itself. However, Perl 6 knows better than to succumb to false laziness, and so is eager -sometimes, and lazy others. Perl 6 defines 4 levels of laziness: +sometimes, and lazy others. +One thing that Perl understands is the difference between Laziness and +Eagerness. When something is Lazy, it says "just give me what you've +got; I'll get the rest later", whereas when it's eager, it says "More! +More! Give me everything you can get!". + +Perl 6 defines 4 levels of laziness: + =over =item Strictly Lazy @@ -108,12 +115,21 @@ =head1 The Iterator Role -The iterator role represents the lazy access to a list, walking -through a data structure (list, tree whatever), feeds (map, grep etc) -or a stream (mostly for IO). +The iterator role represents the lazy access to a list, walking through +one of: +=over + +=item Data structure (list, tree, table, etc) + +=item Feed (map, grep, etc) + +=item Stream (mostly for IO) + +=back + It's important to realize that the iterator of a list can be accessed -by the .Iterator() method (but only the runtime will be calling that +by the .iterator() method (but only the runtime will be calling that most of the time), and the implemenation of each iterator is private to the list and implementation specific. @@ -121,6 +137,8 @@ implemenations, but this spec should be expanded in the future to provide additional API for batch-aware iterators. +The methods in this role are: + =head2 method prefix:<=> {...} Returns the items for that iteration. The grouping of elements