Skip to content

Commit e71c0a1

Browse files
committed
Minor pronoun clarification
Question about last-statement-loops and laziness Historical note for those not up to date on GLR progress
1 parent a62d2ce commit e71c0a1

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

S07-glr-draft.pod

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ In fact, C<for> will now be exactly isomorphic to C<.map>:
168168
foo VALUES { ... }
169169
VALUES.map( { ... } } # same thing
170170

171-
This even extends to the case where the thing being iterated is
172-
an itemizing container holding an C<Iterable>:
171+
This isomorphism even extends to the case where the thing being iterated
172+
is an itemizing container holding an C<Iterable>:
173173

174174
my $s = <apple banana cherry date eggplant>;
175175
for $s { .say } # five iterations
@@ -200,6 +200,9 @@ instead of a class.
200200
Looping constructs ( C<while>, C<for>, C<until>, C<loop> ) will be able
201201
to lazily return lists, as described in C<S04>.
202202

203+
Question: Is the special "least surprise" eager behavior of
204+
for-as-a-last-(bare)-statement preserved?
205+
203206
=item *
204207

205208
Because of the above, the GLR will need to improve sink context handling...
@@ -231,6 +234,11 @@ of values into its surrounding list when it is encountered.
231234
This new type would replace the pre-GLR meaning of C<Nil> and
232235
the temporary C<Empty> type.
233236

237+
NOTE: The current implemented behavior of Nil in newest rakudos
238+
is mostly post-GLR, though it still shows up in a few places where
239+
it should not. "Pre-GLR behavior" refers to Nil disappearing
240+
during list flattenning.
241+
234242
=back
235243

236244
=head1 AUTHORS

0 commit comments

Comments
 (0)