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