Author: lwall
Date: 2010-03-19 18:51:46 +0100 (Fri, 19 Mar 2010)
New Revision: 30126

Modified:
   docs/Perl6/Spec/S03-operators.pod
Log:
[S03] clarify that nearly all normal operators autothread, including === and eqv


Modified: docs/Perl6/Spec/S03-operators.pod
===================================================================
--- docs/Perl6/Spec/S03-operators.pod   2010-03-18 21:07:41 UTC (rev 30125)
+++ docs/Perl6/Spec/S03-operators.pod   2010-03-19 17:51:46 UTC (rev 30126)
@@ -15,8 +15,8 @@
 
     Created: 8 Mar 2004
 
-    Last Modified: 15 Mar 2010
-    Version: 198
+    Last Modified: 19 Mar 2010
+    Version: 199
 
 =head1 Overview
 
@@ -1168,7 +1168,7 @@
 =head2 Chaining binary precedence
 
 All operators on this precedence level may be I<chained>; see
-L</Chained comparisons>.
+L</Chained comparisons>.  They all return a boolean value.
 
 =over
 
@@ -1231,6 +1231,14 @@
 the objects are ignored.  These semantics are those used by hashes that
 allow objects for keys.  See also L</Comparison semantics>.
 
+Note that C<===> is defined with an C<(Any,Any)> signature, and therefore
+autothreads over junctions; hence it I<cannot> be used to determine if two
+objects are the same, if either or both of them are junctions.  However,
+since C<.WHICH> is a macro that always returns a value and never autothreads,
+you can easily work around this limitation by saying:
+
+    $junk1.WHICH eqv $junk2.WHICH
+
 =item *
 
 Canonical equivalence
@@ -1243,6 +1251,10 @@
 that allow only values for keys (such as PerlĀ 5 string-key hashes).
 See also L</Comparison semantics>.
 
+Note that C<eqv> autothreads over junctions, as do all other comparison
+operators.  (Do not be confused by the fact that these return boolean values;
+in general, only boolean I<context> forces junction collapse.)
+
 =item *
 
 Negated relational operators

Reply via email to