Re: class interface of roles

2006-10-18 Thread Jonathan Lang
Larry Wall wrote: Though actually, now that I think about it, the cascaded notation in S12 is illegal according to S03, since "does" is classified as non-chaining, which implies non-associative. Hmm. We'd have to make it right associative somehow. Put it in with ** maybe? Hmm. Or leave it no

Re: class interface of roles

2006-10-18 Thread Larry Wall
On Wed, Oct 18, 2006 at 01:32:14PM -0700, Jonathan Lang wrote: : >The | notation is mentioned in S012:1029, by the way. Obviously you : >still haven't quite memorized all the synopses. :-) : : Actually, I was very well aware of that fact. Oops, didn't realize you were suggesting a semantic chan

Re: class interface of roles

2006-10-18 Thread Larry Wall
Though actually, now that I think about it, the cascaded notation in S12 is illegal according to S03, since "does" is classified as non-chaining, which implies non-associative. Hmm. We'd have to make it right associative somehow. Put it in with ** maybe? Hmm. Or leave it non-associative and fo

Re: Edge case: incongruent roles

2006-10-18 Thread mark . a . biggar
-- Original message -- From: "Jonathan Lang" <[EMAIL PROTECTED]> > Mark Biggar wrote: > > Jonathan Lang wrote: > > > They can be: > > > > > > $A > $B if $A.x > $B.x | $A.y > $B.y; > > > $A < $B if $A.x < $B.x | $A.y < $B.y; > > > > That dosn't work. > > Agreed

[svn:perl6-synopsis] r13211 - doc/trunk/design/syn

2006-10-18 Thread larry
Author: larry Date: Wed Oct 18 14:49:21 2006 New Revision: 13211 Modified: doc/trunk/design/syn/S05.pod Log: missing = from particle++ Modified: doc/trunk/design/syn/S05.pod == --- doc/trunk/design/syn/S05.pod

Re: Edge case: incongruent roles

2006-10-18 Thread Jonathan Lang
Mark Biggar wrote: Jonathan Lang wrote: > They can be: > > $A > $B if $A.x > $B.x | $A.y > $B.y; > $A < $B if $A.x < $B.x | $A.y < $B.y; That dosn't work. Agreed. The above was written in haste, and contained a couple of fatal syntax errors that I didn't intend. Try this: multi infix

[svn:perl6-synopsis] r13210 - doc/trunk/design/syn

2006-10-18 Thread larry
Author: larry Date: Wed Oct 18 13:57:40 2006 New Revision: 13210 Modified: doc/trunk/design/syn/S05.pod Log: word boundaries are defined in terms of \w, not \s Modified: doc/trunk/design/syn/S05.pod == --- doc/trunk/

Re: class interface of roles

2006-10-18 Thread Jonathan Lang
Larry Wall wrote: You've got it inside out. Unordered is just "does A | B | C" or some such, the | there really being coerced to a set construction, not a junction. In fact, & would work just as well. I only used | because it's more readable. Autocoercion of junctions to sets is, of course, c

Re: class interface of roles

2006-10-18 Thread Larry Wall
On Tue, Oct 17, 2006 at 04:22:59PM -0700, Jonathan Lang wrote: : I've never really been happy with the inconsistency between runtime : composition and compile-time composition; but my problem has generally : been with the runtime side of things - in particular, I find the fact : that "does A does B

Re: Edge case: incongruent roles

2006-10-18 Thread mark . a . biggar
-- Original message -- From: "Jonathan Lang" <[EMAIL PROTECTED]> > TSa wrote: > > Jonathan Lang wrote: > > > If at all possible, I would expect Complex to compose Num, thus > > > letting a Complex be used anywhere that a Num is requested. > > > > This will not work.

Re: class interface of roles

2006-10-18 Thread Jonathan Lang
TSa wrote: you wrote: > I think I found the core of the issue here; it has to do with the > differences between roles and mixins, with an analogous difference > between compile-time composition and runtime composition. Details > follow. I think we are basically through the discussion. Thank you

Re: Edge case: incongruent roles

2006-10-18 Thread Jonathan Lang
Nicholas Clark wrote: Jonathan Lang wrote: > They can be: > > $A > $B if $A.x > $B.x | $A.y > $B.y; > $A < $B if $A.x < $B.x | $A.y < $B.y; > > This also allows you to unambiguously order any arbitrary set of > complex numbers. If I'm reading that correctly then there are values of $A and $B f

Re: Edge case: incongruent roles

2006-10-18 Thread Nicholas Clark
On Wed, Oct 18, 2006 at 06:55:16AM -0700, Jonathan Lang wrote: > TSa wrote: > >Jonathan Lang wrote: > >> If at all possible, I would expect Complex to compose Num, thus > >> letting a Complex be used anywhere that a Num is requested. > > > >This will not work. The Num type is ordered the Complex ty

Re: Edge case: incongruent roles

2006-10-18 Thread Jonathan Lang
TSa wrote: Jonathan Lang wrote: > If at all possible, I would expect Complex to compose Num, thus > letting a Complex be used anywhere that a Num is requested. This will not work. The Num type is ordered the Complex type isn't. The operators <, <=, > and >= are not available in Complex. They c

Re: class interface of roles

2006-10-18 Thread TSa
HaloO Jonathan, you wrote: I think I found the core of the issue here; it has to do with the differences between roles and mixins, with an analogous difference between compile-time composition and runtime composition. Details follow. I think we are basically through the discussion. Thank you

Re: Edge case: incongruent roles

2006-10-18 Thread TSa
HaloO, Jonathan Lang wrote: If at all possible, I would expect Complex to compose Num, thus letting a Complex be used anywhere that a Num is requested. This will not work. The Num type is ordered the Complex type isn't. The operators <, <=, > and >= are not available in Complex. Though I can i