r27635 - docs/Perl6/Spec

2009-07-20 Thread pugs-commits
Author: lwall
Date: 2009-07-21 03:03:38 +0200 (Tue, 21 Jul 2009)
New Revision: 27635

Modified:
   docs/Perl6/Spec/S03-operators.pod
Log:
[S03] rename 'nonchaining infix' to 'structural infix'


Modified: docs/Perl6/Spec/S03-operators.pod
===
--- docs/Perl6/Spec/S03-operators.pod   2009-07-20 23:56:21 UTC (rev 27634)
+++ docs/Perl6/Spec/S03-operators.pod   2009-07-21 01:03:38 UTC (rev 27635)
@@ -42,7 +42,7 @@
 X  Junctive and   also
 X  Junctive or   | ^
 L  Named unary   sleep abs sin temp let
-N  Nonchaining infix but does = leg cmp .. ..^ ^.. ^..^
+N  Structural infix  but does = leg cmp .. ..^ ^.. ^..^
 C  Chaining infix!= ==  =  = eq ne lt le gt ge ~~ === eqv !eqv
 X  Tight and 
 X  Tight or  || ^^ // min max



Re: r27635 - docs/Perl6/Spec

2009-07-20 Thread Jon Lang
On Mon, Jul 20, 2009 at 6:03 PM, pugs-comm...@feather.perl6.nl wrote:
 Author: lwall
 Date: 2009-07-21 03:03:38 +0200 (Tue, 21 Jul 2009)
 New Revision: 27635

 Modified:
   docs/Perl6/Spec/S03-operators.pod
 Log:
 [S03] rename 'nonchaining infix' to 'structural infix'


 Modified: docs/Perl6/Spec/S03-operators.pod
 ===
 --- docs/Perl6/Spec/S03-operators.pod   2009-07-20 23:56:21 UTC (rev 27634)
 +++ docs/Perl6/Spec/S03-operators.pod   2009-07-21 01:03:38 UTC (rev 27635)
 @@ -42,7 +42,7 @@
     X  Junctive and       also
     X  Junctive or       | ^
     L  Named unary       sleep abs sin temp let
 -    N  Nonchaining infix but does = leg cmp .. ..^ ^.. ^..^
 +    N  Structural infix  but does = leg cmp .. ..^ ^.. ^..^
     C  Chaining infix    != ==  =  = eq ne lt le gt ge ~~ === eqv !eqv
     X  Tight and         
     X  Tight or          || ^^ // min max

Hmm... maybe Chaining infix should become Comparison?

-- 
Jonathan Dataweaver Lang


Re: r27635 - docs/Perl6/Spec

2009-07-20 Thread Darren Duncan

Jon Lang wrote:

On Mon, Jul 20, 2009 at 6:03 PM, pugs-comm...@feather.perl6.nl wrote:

Modified: docs/Perl6/Spec/S03-operators.pod
===
--- docs/Perl6/Spec/S03-operators.pod   2009-07-20 23:56:21 UTC (rev 27634)
+++ docs/Perl6/Spec/S03-operators.pod   2009-07-21 01:03:38 UTC (rev 27635)
@@ -42,7 +42,7 @@
X  Junctive and   also
X  Junctive or   | ^
L  Named unary   sleep abs sin temp let
-N  Nonchaining infix but does = leg cmp .. ..^ ^.. ^..^
+N  Structural infix  but does = leg cmp .. ..^ ^.. ^..^
C  Chaining infix!= ==  =  = eq ne lt le gt ge ~~ === eqv !eqv
X  Tight and 
X  Tight or  || ^^ // min max


Hmm... maybe Chaining infix should become Comparison?


I second that notion,

... assuming that the category would not later be expanded with other operators 
that don't fit the Comparison description.


And please don't even consider instead using the term Relational in reference 
to these operators, that some people do.  The Comparison term is more 
descriptive, and it doesn't conflict with other meanings of relational that 
relational databases deal with.


-- Darren Duncan


Re: r27635 - docs/Perl6/Spec

2009-07-20 Thread Jon Lang
On Mon, Jul 20, 2009 at 7:15 PM, Darren Duncandar...@darrenduncan.net wrote:
 Jon Lang wrote:

 On Mon, Jul 20, 2009 at 6:03 PM, pugs-comm...@feather.perl6.nl wrote:

 Modified: docs/Perl6/Spec/S03-operators.pod
 ===
 --- docs/Perl6/Spec/S03-operators.pod   2009-07-20 23:56:21 UTC (rev
 27634)
 +++ docs/Perl6/Spec/S03-operators.pod   2009-07-21 01:03:38 UTC (rev
 27635)
 @@ -42,7 +42,7 @@
    X  Junctive and       also
    X  Junctive or       | ^
    L  Named unary       sleep abs sin temp let
 -    N  Nonchaining infix but does = leg cmp .. ..^ ^.. ^..^
 +    N  Structural infix  but does = leg cmp .. ..^ ^.. ^..^
    C  Chaining infix    != ==  =  = eq ne lt le gt ge ~~ === eqv !eqv
    X  Tight and         
    X  Tight or          || ^^ // min max

 Hmm... maybe Chaining infix should become Comparison?

 I second that notion,

 ... assuming that the category would not later be expanded with other
 operators that don't fit the Comparison description.

Tight or includes min and max; I see nothing wrong with the
Comparison precedence level eventually picking up a handful of
operators that aren't comparators, as long as so many of them are.
And especially if the question being asked when creating a new
operator is should this have the same precedence as the comparison
operators?

A stronger argument against it would be to find comparison operators
that exist at other precedence levels.  I don't think that there are
any.  (Well, besides =, leg, and cmp.)

Indeed, I'll be surprised if there are any other precedence levels
that are chaining - which is another key point: what kind of operator
would be chaining, but _not_ some sort of comparison?

 And please don't even consider instead using the term Relational in
 reference to these operators, that some people do.  The Comparison term is
 more descriptive, and it doesn't conflict with other meanings of
 relational that relational databases deal with.

Seconded. :)

-- 
Jonathan Dataweaver Lang


Re: r27635 - docs/Perl6/Spec

2009-07-20 Thread Larry Wall
On Mon, Jul 20, 2009 at 07:33:23PM -0700, Jon Lang wrote:
: A stronger argument against it would be to find comparison operators
: that exist at other precedence levels.  I don't think that there are
: any.  (Well, besides =, leg, and cmp.)

I think people would find it quite odd if an operator named cmp can't
be considered a comparison operator.

: Indeed, I'll be surprised if there are any other precedence levels
: that are chaining - which is another key point: what kind of operator
: would be chaining, but _not_ some sort of comparison?

Congratulations, with that argument you've completely persuaded me that
Chaining is the most precise description of that precedence level,
and we should leave it just the way it is now.

The reason I renamed Nonchaining is not that I dislike the concept
of chaining, but that all the *other* non-chaining precedence levels
are also, er, non-chaining. :)

Though the proximate cause was that it made for a stupid error message,
which indicated that the old name wasn't sufficiently accurate:

  Can't reduce a nonchaining operator because it's diffy and not chaining

It now reads:

  Can't reduce cmp because structural infix operators are diffy and not chaining

In short, chaining is a good concept, but non-chaining is bad
(and doubly bad when it means two different things).

Larry