On Wed, Apr 16, 2008 at 07:49:48AM -0000, John M. Dlugosz wrote: > I know how comparisons are chained in Perl 6. There is a very > short section on it in S03. > > So, are the operators infix:{'<'} etc. written in the normal > way to take two arguments? Then the language transforms > A op B op C into A op B AND B op C on an innate level. Does > that apply to any user-defined operator with those names?
It applies to any operator that has 'chain' associativity -- see S06, "Subroutine traits". > If I want to make my own chained operator, perhaps the > curvy ≼, ≽, etc. or make my operator ≧ > a synonym for >=, how would I tell the compiler that they > belong to the same set of chained operators? sub infix:«≽» ($a, $b) is equiv(&infix:«>=») { ... } Or, if you want to create your own chained precedence level separate from the existing relational ops, sub infix:«≽» ($a, $b) is assoc<chain> is looser(...) { ... } Pm