Author: lwall Date: 2010-02-03 02:25:51 +0100 (Wed, 03 Feb 2010) New Revision: 29625
Modified: docs/Perl6/Spec/S29-functions.pod Log: [S29] more @@ and iterator patchups Modified: docs/Perl6/Spec/S29-functions.pod =================================================================== --- docs/Perl6/Spec/S29-functions.pod 2010-02-03 01:09:04 UTC (rev 29624) +++ docs/Perl6/Spec/S29-functions.pod 2010-02-03 01:25:51 UTC (rev 29625) @@ -20,8 +20,8 @@ Created: 12 Mar 2005 - Last Modified: 19 Nov 2009 - Version: 44 + Last Modified: 2 Feb 2010 + Version: 45 The document is a draft. @@ -334,21 +334,35 @@ Forces generic Item context on its argument, and returns it. +=item flat + + our List multi flat ( *...@list ) + +Forces flat context on it's arguments, and returns them. +The heavy work is done by the C<*@> binding. + =item list - our List multi list ( *...@list ) + our List multi list ( Iterable $item ) { $item.iterator.list } + our List multi list ( List \$iter ) { $iter } -Forces List Context on it's arguments, and returns them. +Almost a no-op; just makes sure that $item can be iterated. +=item flat + + our List multi flat ( *...@list ) + +Forces flat context on it's arguments, and returns them. +The heavy work is done by the C<*@> binding. + =item slice - our List multi slice ( *...@list ) + our List multi slice ( *...@list ) Forces the argument list to be evaluated in slice context. (Slices are considered to be potentially multidimensional in PerlĀ 6.) -A list of C<Capture>s will be transformed into a list of lists. -Equivalent to C<@@()> (except that empty C<@@()> means C<@@($/)>, while -empty C<slice()> means a null slice). +Any C<Parcel> within the list will be transformed into a C<Seq>. +The work is actually done by the binding to the C<**@> parameter. =item hash