Re: Nested statement modifiers.

2006-10-04 Thread Markus Laire
On 10/3/06, Aaron Sherman [EMAIL PROTECTED] wrote: Paul Seamons wrote: It relates to some old problems in the early part of the RFC/Apocalypse process, and the fact that: say $_ for 1..10 for 1..10 Was ambiguous. The bottom line was that you needed to define your parameter name for

Re: Nested statement modifiers.

2006-10-04 Thread Juerd
Damian Conway skribis 2006-10-03 16:40 (-0700): Which can also be written as: do { do { say 1 if 1 } if 1 } if 1; Sorry, no it can't. From S4 (http://dev.perl.org/perl6/doc/design/syn/S04.html#The_repeat_statement): Unlike in Perl 5, applying a statement modifier to a do block is

Re: Nested statement modifiers.

2006-10-04 Thread Markus Laire
On 10/4/06, Juerd [EMAIL PROTECTED] wrote: Damian Conway skribis 2006-10-03 16:40 (-0700): Which can also be written as: do { do { say 1 if 1 } if 1 } if 1; Sorry, no it can't. From S4 (http://dev.perl.org/perl6/doc/design/syn/S04.html#The_repeat_statement): Unlike in Perl 5,

Re: Nested statement modifiers.

2006-10-04 Thread Paul Seamons
It may be more useful to discuss this issue using less contrived examples. :) I would agree. I haven't had any use for a double if or a double for. The double if case is handled by . The double for case is handled by for and map. The interesting cases are combinations of if and for and

Re: Nested statement modifiers.

2006-10-03 Thread Aaron Sherman
: perhaps a sentence to that effect belongs in S04, which has no mention of nested statement modifiers, for or against. Well, that's because Synopses at least in theory only refer to changes from Perl 5. Perl 5 doesn't allow more than one statement modifier, and Perl 6 doesn't either. In Perl 5

Re: Nested statement modifiers.

2006-10-03 Thread Paul Seamons
Of course, that wasn't exactly what you were asking, but it does present a practical solution when you want to: {say $_ for =}.() if $do_read_input; Which I just verified works fine under current pugs. Thank you. Hadn't thought of that. I think that is workable. But it also brings

Re: Nested statement modifiers.

2006-10-03 Thread Aaron Sherman
Paul Seamons wrote: Of course, that wasn't exactly what you were asking, but it does present a practical solution when you want to: {say $_ for =}.() if $do_read_input; Which I just verified works fine under current pugs. Thank you. Hadn't thought of that. I think that is workable.

Re: Nested statement modifiers.

2006-10-03 Thread Paul Seamons
- but will it be under Perl6. Either way the nested statement modifiers would work even if scopes aren't introduced at each level. .say for 1..$_ for 2..5; I think it reads sort of nicely left to right. Paul

Re: Nested statement modifiers.

2006-10-03 Thread Aaron Sherman
Paul Seamons wrote: It relates to some old problems in the early part of the RFC/Apocalypse process, and the fact that: say $_ for 1..10 for 1..10 Was ambiguous. The bottom line was that you needed to define your parameter name for that to work, and defining a parameter name on a

Re: Nested statement modifiers.

2006-10-03 Thread Juerd
Aaron Sherman skribis 2006-10-03 13:46 (-0400): In Perl 6, that's simplified to: {{say 1 if 1}.() if 1}.() if 1; Which can also be written as: do { do { say 1 if 1 } if 1 } if 1; Which if crammed together the way you wrote it, turns into: do {do {say 1 if 1} if 1} if 1; Or perhaps

Re: Nested statement modifiers.

2006-10-03 Thread Damian Conway
[Apologies for the last post. Gmail got a little eager. Here's what I meant to send...] Juerd wrote: Which can also be written as: do { do { say 1 if 1 } if 1 } if 1; Sorry, no it can't. From S4 (http://dev.perl.org/perl6/doc/design/syn/S04.html#The_repeat_statement): Unlike in

Re: Nested statement modifiers.

2006-10-03 Thread Audrey Tang
在 Oct 4, 2006 7:46 AM 時,Damian Conway 寫到: [Apologies for the last post. Gmail got a little eager. Here's what I meant to send...] Juerd wrote: Which can also be written as: do { do { say 1 if 1 } if 1 } if 1; Sorry, no it can't. From S4 (http://dev.perl.org/perl6/doc/design/syn/

Re: Nested statement modifiers.

2006-10-03 Thread Damian Conway
Audrey asked: However, I wonder if this is too strict. Disallowing while and until after a do block is fine (and can be coded directly in those two statement modifier macros), but is there a reason to disallow other modifiers? Well, for a start, there's this syntactic problem: do { say

Re: Nested statement modifiers.

2006-10-03 Thread Audrey Tang
在 Oct 4, 2006 10:17 AM 時,Damian Conway 寫到: Audrey asked: However, I wonder if this is too strict. Disallowing while and until after a do block is fine (and can be coded directly in those two statement modifier macros), but is there a reason to disallow other modifiers? Well, for a start,

Re: Nested statement modifiers.

2006-10-03 Thread Damian Conway
The use case here is do { .foo for @bar } if $baz; But I guess you can always protect it with a parens: (do { .foo for @bar }) if $baz; Or just: if $baz { .foo for @bar } or even: @bar».foo if $baz; ;-) Damian

Re: Nested statement modifiers.

2006-09-02 Thread Randal L. Schwartz
Paul == Paul Seamons [EMAIL PROTECTED] writes: Paul I don't know what the reasoning was back then and it may be the same today. From my early conversations with Larry, I recall that the reason is that RSTS/E BASIC-PLUS had nested trailing modifiers, and both Larry and I saw many abuses of

Re: Nested statement modifiers.

2006-09-02 Thread Dr.Ruud
Paul Seamons schreef: In the samples you gave I had to read the entire line to see what the outcome of the code is. I was not addressing reading skills, but just your you'd either have ... or One always needs to read the full line, but one doesn't have to do that linearly or just from

Re: Nested statement modifiers.

2006-09-02 Thread Paul Seamons
From my early conversations with Larry, I recall that the reason is that RSTS/E BASIC-PLUS had nested trailing modifiers, and both Larry and I saw many abuses of these over the years. Therefore, he decided not to repeat that abomination, limiting it to precisely one level deep. I'm happy for

Re: Nested statement modifiers.

2006-09-02 Thread Paul Seamons
I will abuse it. Paul PS. And not that it matters, but TT3 is planned to support nested statement modifiers and my engine which does much of TT3 already supports them - and I do use them on occasion - but that's a different mailing list.

Nested statement modifiers.

2006-09-01 Thread Paul Seamons
I'm not sure if I have seen this requested or discussed. Is there a parsing reason why Perl 6 would allow nested statement modifiers or is it mainly a sanity-please-don't-hurt-my-eyes reason. It is silly to do things such as: say Interesting if $just_because if $because; But it is sort

Re: Nested statement modifiers.

2006-09-01 Thread Trey Harris
In a message dated Fri, 1 Sep 2006, Paul Seamons writes: I'm not sure if I have seen this requested or discussed. This was definitively rejected by Larry in 2002: http://www.nntp.perl.org/group/perl.perl6.language/9343 He has not revisited the issue in the several times it has come up

Re: Nested statement modifiers.

2006-09-01 Thread jerry gay
the issue in the several times it has come up since. perhaps a sentence to that effect belongs in S04, which has no mention of nested statement modifiers, for or against. ~jerry

Re: Nested statement modifiers.

2006-09-01 Thread Trey Harris
/group/perl.perl6.language/9343 He has not revisited the issue in the several times it has come up since. perhaps a sentence to that effect belongs in S04, which has no mention of nested statement modifiers, for or against. Well, that's because Synopses at least in theory only refer to changes

Re: Nested statement modifiers.

2006-09-01 Thread Paul Seamons
) of the Perl 6 grammar have changed and reverted and changed again. I don't know what the reasoning was back then and it may be the same today. I'm just wondering what that reason is. Maybe nested statement modifiers promote bad language skills. Maybe its because statement modifiers have always

Re: Nested statement modifiers.

2006-09-01 Thread Dr.Ruud
Paul Seamons schreef: The following is one more interesting case. say Ok then if $yes and $true unless $no or $false; Without nested modifiers you'd have either: say Ok then if $yes and $true and ! $no and ! $false; or say OK then unless ! $yes or ! $true or $no $or $false; And

Re: Nested statement modifiers.

2006-09-01 Thread Paul Seamons
$no or $false or $yes and $true and say OK then ; $no or $false or say OK then if $yes and $true ; Thank you for your reply. I know there are other ways to do it. I've had no choice but to do it other ways in Perl5. I don't think I have ever used that notation (outside of file open and