Re: embed.h doesn't work in C++

2004-04-23 Thread Jens Rieks
Hi, Leopold Toetsch wrote: > Jens Rieks wrote: > > I've prepared a patch for it. > > Why do you change all to the longest declaration of Parrot_Interp? because Brent 'Dax' Royal-Gordon wrote: : The naming conventions say that struct : Parrot_Interp should really be struct parrot_interp_t, but tha

Re: embed.h doesn't work in C++

2004-04-23 Thread Leopold Toetsch
Jens Rieks wrote: I've prepared a patch for it. Why do you change all to the longest declaration of Parrot_Interp? We have in decreasing length struct parrot_interp_t * struct Parrot_Interp * Parrot_Interp Interp * We need the structure declaration which could be 1) or 2) and we want a short typ

Re: A12: The dynamic nature of a class

2004-04-23 Thread Simon Cozens
[EMAIL PROTECTED] (Dan Sugalski) writes: > my Joe $foo; > > emits the code that, at runtime, finds the class ID of whatever Joe's > in scope, instantiates a new object of that class Uh, is that right? I don't think that "my" is a constructor, more a typing declarator. -- Hi, this is Ken. Wh

A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Aldo Calpini
hello, sorry if this has been discussed before, I did a quick search in the Archive and the summaries but can't find a similar topic. I've just read A12, and while I really like the inherent orthogonality of the whole object system as it is (will be) implemented, there is something that puzzles m

Re: A12: The dynamic nature of a class

2004-04-23 Thread Dan Sugalski
At 11:29 PM +0100 4/22/04, Simon Cozens wrote: [EMAIL PROTECTED] (Dan Sugalski) writes: my Joe $foo; emits the code that, at runtime, finds the class ID of whatever Joe's in scope, instantiates a new object of that class Uh, is that right? I don't think that "my" is a constructor, more a ty

Re: A12: The dynamic nature of a class

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 08:42, Dan Sugalski wrote: > Since any type potentially has assignment behaviour, it has to be a > constructor. For example, if you've got the Joe class set such that > assigning to it prints the contents to stderr, this: > > my Joe $foo; > $foo = 12; > > should p

Unicode... I surrender

2004-04-23 Thread Dan Sugalski
Okay, I give. Against my better judgement, I'm declaring Unicode the One True Character String Encoding Set Stuff Thingie. It's not quite going to be as simple as that, as folks will likely track me down and beat me if we utf-8 decode their JPEG data, and there's plenty of non-Unicode data out

Re: A12: The dynamic nature of a class

2004-04-23 Thread Jeff Clites
On Apr 23, 2004, at 5:42 AM, Dan Sugalski wrote: At 11:29 PM +0100 4/22/04, Simon Cozens wrote: [EMAIL PROTECTED] (Dan Sugalski) writes: my Joe $foo; emits the code that, at runtime, finds the class ID of whatever Joe's in scope, instantiates a new object of that class Uh, is that right?

Re: embed.h doesn't work in C++

2004-04-23 Thread Jarkko Hietaniemi
>>>You're welcome to try it again, though...while you're at it, you might >>>as well make all internal Parrot functions take an Interp * instead of a I hope there's #undef Interp in there somewhere. Or maybe even possibly #ifdef Interp #error EEEK SOMEONE ELSE HAS DEFINED Interp. #endif In othe

Re: A12: The dynamic nature of a class

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 08:42:28AM -0400, Dan Sugalski wrote: : At 11:29 PM +0100 4/22/04, Simon Cozens wrote: : >[EMAIL PROTECTED] (Dan Sugalski) writes: : >> my Joe $foo; : >> : >> emits the code that, at runtime, finds the class ID of whatever Joe's : >> in scope, instantiates a new object o

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 12:45 AM +0200 4/23/04, Jens Rieks wrote: Hi, On Thursday 22 April 2004 17:59, Brent 'Dax' Royal-Gordon wrote: Nicholas Clark wrote: > Pain being due to these two: > > struct Parrot_Interp; > > typedef struct Parrot_Interp *Parrot_Interp; > > > This doesn't seem right. It is and it is

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 6:48 PM +0300 4/23/04, Jarkko Hietaniemi wrote: >>>You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's #undef Interp in there somewhere. I hope it's not in there in the first place. The pr

Re: embed.h doesn't work in C++

2004-04-23 Thread Brent 'Dax' Royal-Gordon
Dan Sugalski wrote: At 6:48 PM +0300 4/23/04, Jarkko Hietaniemi wrote: >>>You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's #undef Interp in there somewhere. I hope it's not in the

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 9:19 AM -0700 4/23/04, Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: At 6:48 PM +0300 4/23/04, Jarkko Hietaniemi wrote: >>>You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's #u

Re: A12: The dynamic nature of a class

2004-04-23 Thread chromatic
On Fri, 2004-04-23 at 05:42, Dan Sugalski wrote: > Since any type potentially has assignment behaviour, it has to be a > constructor. For example, if you've got the Joe class set such that > assigning to it prints the contents to stderr, this: > > my Joe $foo; > $foo = 12; > > should p

Re: embed.h doesn't work in C++

2004-04-23 Thread Brent 'Dax' Royal-Gordon
Leopold Toetsch wrote: Jens Rieks wrote: I've prepared a patch for it. Why do you change all to the longest declaration of Parrot_Interp? We have in decreasing length struct parrot_interp_t * struct Parrot_Interp * Parrot_Interp Interp * We need the structure declaration which could be 1) or

Re: A12: The dynamic nature of a class

2004-04-23 Thread Dan Sugalski
At 9:30 AM -0700 4/23/04, chromatic wrote: On Fri, 2004-04-23 at 05:42, Dan Sugalski wrote: Since any type potentially has assignment behaviour, it has to be a constructor. For example, if you've got the Joe class set such that assigning to it prints the contents to stderr, this: my Joe $f

Re: embed.h doesn't work in C++

2004-04-23 Thread Jarkko Hietaniemi
Brent 'Dax' Royal-Gordon wrote: > Dan Sugalski wrote: > >>I hope it's not in there in the first place. The prefix needs to stay. > > > The declaration has been (along the lines of) > > typedef struct Parrot_Interp { > ... > } Interp; > > for years. The Interp typedef is in

imcc code generation problem

2004-04-23 Thread Nick Glencross
Guys, I'll log a bug for this if need be, but I'd rather solve the problem myself (with some help). I'm in the middle of writing a routine (MD5 hashing for fun), and stumbled upon the following code generation problem in imcc. In the attached code, I've got $I10 = word & 0x00ff $

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 8:03 PM +0300 4/23/04, Jarkko Hietaniemi wrote: Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: I hope it's not in there in the first place. The prefix needs to stay. The declaration has been (along the lines of) typedef struct Parrot_Interp { ... } Interp; for

Re: imcc code generation problem

2004-04-23 Thread Nick Glencross
I've now reduced the code down to this, a much simpler example [don't expect it to run!] Regards, Nick .sub _md5_create_buffer .param string str .local int word $I0 = length str $I1 = $I0 / 64 $I2 = $I0 % 64 $I3 = 64 * $I1 word = 0 md5_create_buffer_loop:

Re: embed.h doesn't work in C++

2004-04-23 Thread Jarkko Hietaniemi
>>This works as long as people (a) know of (b) stick to the policy >>("Interp for internal use only") (c) No application embedding Parrot >>has defined "Interp" themselves. Experience has shown that none of >>these is likely to happen and/or stay that way for long :-) > > > (c) is the reason for

Re: A12: The dynamic nature of a class

2004-04-23 Thread Jeff Clites
On Apr 23, 2004, at 8:54 AM, Larry Wall wrote: On Fri, Apr 23, 2004 at 08:42:28AM -0400, Dan Sugalski wrote: : Since any type potentially has assignment behaviour, it has to be a : constructor. For example, if you've got the Joe class set such that : assigning to it prints the contents to stderr,

Re: A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 04:25, Aldo Calpini wrote: > class MyClass { > has LethalWeapon $.dispatcher; > method meta { say "$_ is doing meta!" } > } > > both of them would make my class pretty useless, I think, since it could > not (correctly, at least) dispatch methods anymo

Re: A12: syntax to call Attributes

2004-04-23 Thread Aaron Sherman
On Wed, 2004-04-21 at 12:44, Abhijit A. Mahabal wrote: > On Wed, 21 Apr 2004, Brent 'Dax' Royal-Gordon wrote: > > Which actually brings up an interesting question: > > > > class Silly { > > has $.thing=1; > > has @.thing=(2, 3); > > has %.thing=(4 => 5, 6 => 7); > >

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Aaron Sherman
On Wed, 2004-04-21 at 12:17, chromatic wrote: > * Add a disambiguatey method to PoliceDog that dispatches > appropriately. (Insert handwavey "well you *could* do it this way or > you *might* do it that way.") I agree, but given that the average user should probably not have to interact with the

Re: A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 10:37:00AM -0400, Aaron Sherman wrote: : It's a fine point... in the past, P5 and P6 have up-cased such : constructs in order to warn of their semi-keywordishness (e.g. DESTROY : or BUILD). I'm wondering why Larry chose to leave dispatcher and meta : lower in this case. Hmm

Re: A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Dan Sugalski
At 8:24 AM -0700 4/23/04, Larry Wall wrote: On Fri, Apr 23, 2004 at 10:37:00AM -0400, Aaron Sherman wrote: : It's a fine point... in the past, P5 and P6 have up-cased such : constructs in order to warn of their semi-keywordishness (e.g. DESTROY : or BUILD). I'm wondering why Larry chose to leave di

Re: A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Juerd
(re-post. for some reason the alias didn't work.) Larry Wall skribis 2004-04-23 8:24 (-0700): > On the third hand, maybe we should go for $obj._meta_ or some such. I don't like _foo_ names. Once you shart having things with underscores, it's only a matter of time before someone decides that _foo

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Brent 'Dax' Royal-Gordon
Aaron Sherman wrote: seen the "does b". You could assert the other way around: class c { does a for <>; does b for <>; } which is kind of nifty looking, but some may blanch at the dual meaning for "for" Funny how similar that is to class c { does a handles <>; does b handles <>; } -- B

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 11:44, Brent 'Dax' Royal-Gordon wrote: > Aaron Sherman wrote: > > class c { does a for <>; does b for <>; } > Funny how similar that is to > > class c { does a handles <>; does b handles <>; } In "Relationship to Roles" A12 makes the point that delegation and rol

Re: A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Aldo Calpini
Aaron Sherman wrote: > However, in existing CPAN modules that I happen to have in my cache at > the moment: > > [...] > > So it's not THAT bad. hmmm... I think you should probably also grep for modules that do something like: my $self = { meta => 'something', dispatche

Re: Apo 12

2004-04-23 Thread Larry Wall
On Thu, Apr 22, 2004 at 04:46:39PM -0400, Aaron Sherman wrote: : Prototyping in P6 would seem to me to be easy, but not quite the : default. You'd want an intermediary that did the MetaClass negotiation : as you "derived" from an existing object. Or will that be in the core? : Can you say: : :

Re: A question about binary does

2004-04-23 Thread Larry Wall
On Thu, Apr 22, 2004 at 02:21:17PM -0500, Abhijit A. Mahabal wrote: : This is actually a couple of questions: : 1: can you extend roles by saying: role Set is extended {} Perhaps. Classes and objects that have already composed the role would have to be notified that they need to recalculate colli

Re: A question about binary does

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 09:42:51AM -0700, Larry Wall wrote: : : return $self.keys.grep { exists $other{$^a} } : : grepping a hash? Sorry--looked at that cross-eyed. Of course you can grep the keys... Larry

Re: A12: a doubt about .meta, .dispatcher and final methods

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 12:02, Aldo Calpini wrote: > if Perl5 objects are to be implemented somewhat 'transparently' in Perl6, > things like: > > $obj->{meta} > > will become: > > $obj.meta > > when used from Perl6. or not? True enough, but this was just a quick exploration of the likel

Re: A question about binary does

2004-04-23 Thread Dan Sugalski
At 2:21 PM -0500 4/22/04, Abhijit A. Mahabal wrote: This is actually a couple of questions: 1: can you extend roles by saying: role Set is extended {} Parrot will allow this, so if Larry says OK you're fine. It may be rather significantly expensive, however. (Not nearly as bad as, say, adding an

RE: A12: Conflicting Attributes in Roles

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Aaron Sherman [mailto:[EMAIL PROTECTED] > > On Fri, 2004-04-23 at 11:44, Brent 'Dax' Royal-Gordon wrote: > > Aaron Sherman wrote: > > > > class c { does a for <>; does b for <>; } > > > Funny how similar that is to > > > > class c { does a handles <>; d

A12: Delegation using arrays

2004-04-23 Thread Austin Hastings
A12 sez: If your delegation object happens to be an array: has @:handlers handles 'foo'; then something cool happens. In this case Perl 6 assumes that your array contains a list of potential handlers, and you just want to call the first one that succeeds. This is not clear, and I

Re: A12: Strings

2004-04-23 Thread Larry Wall
On Thu, Apr 22, 2004 at 10:34:25AM -0400, Aaron Sherman wrote: : But, what happens if I: : : { : use bytes; : my string $line = $filehandlelikething.getline; : } That might depend on how $filehandlelikething was opened. A filehandle is going to return a st

Re: A12: Delegation using arrays

2004-04-23 Thread Luke Palmer
Austin Hastings writes: > A12 sez: > > If your delegation object happens to be an array: > > has @:handlers handles 'foo'; > > then something cool happens. In this case > Perl 6 assumes that your array contains a list of potential > handlers, and you just want to call the first one

Re: A12: Delegation using arrays

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 01:15:51PM -0400, Austin Hastings wrote: : A12 sez: : : If your delegation object happens to be an array: : : has @:handlers handles 'foo'; : : then something cool happens. In this case : Perl 6 assumes that your array contains a list of potential : handlers,

A12: Typed undef

2004-04-23 Thread Austin Hastings
Mention is made of a typed undef in A12: which doesn't quite work, because $spot is undefined. What probably happens is that the my cheats and puts a version of undef in there that knows it should dispatch to the Dog class if you call .self:new() on it. Anyway, we'll make it work one way or anoth

Re: A12: Typed undef

2004-04-23 Thread Juerd
Austin Hastings skribis 2004-04-23 13:33 (-0400): > I should then be able to call class methods of Dog via $spot without further > initialization: > print defined($spot); # FALSE > $rover = $spot.new; > @breeds = $spot.list_breeds; But shouldn't you then just use "my Class $spot = Dog" the

Re: A12: Delegation using arrays

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 11:28:02AM -0600, Luke Palmer wrote: : Though the hash "handles" handler hardly seems useful to me. Perhaps : someone can explain what that's intended to accomplish. No idea. It just seemed like it ought to be made to mean something. On the other hand, maybe making %:han

Re: imcc code generation problem

2004-04-23 Thread Nick Glencross
Ok, so doing a 'parrot -d 8' shows that word doesn't seem to interfere with $I13 as far as it is concerned ... Dumping the Interf. graph: --- ... word -> $I10 $I11 $I12 (3) ... $I10 -> word (1) $I11 -> word (1) $I12 -> word (1) $I13 -> (0) ... I won

Re: A12: The dynamic nature of a class

2004-04-23 Thread Dan Sugalski
At 10:35 AM -0700 4/23/04, Jeff Clites wrote: On Apr 23, 2004, at 8:54 AM, Larry Wall wrote: On Fri, Apr 23, 2004 at 08:42:28AM -0400, Dan Sugalski wrote: : Since any type potentially has assignment behaviour, it has to be a : constructor. For example, if you've got the Joe class set such that :

Re: imcc code generation problem

2004-04-23 Thread Dan Sugalski
At 7:02 PM +0100 4/23/04, Nick Glencross wrote: Ok, so doing a 'parrot -d 8' shows that word doesn't seem to interfere with $I13 as far as it is concerned ... Dumping the Interf. graph: --- ... word -> $I10 $I11 $I12 (3) ... $I10 -> word (1) $I11 -> word (1

Re: A12: Typed undef

2004-04-23 Thread Luke Palmer
Juerd writes: > Austin Hastings skribis 2004-04-23 13:33 (-0400): > > I should then be able to call class methods of Dog via $spot without further > > initialization: > > print defined($spot); # FALSE > > $rover = $spot.new; > > @breeds = $spot.list_breeds; > > But shouldn't you then just

Re: A12: Typed undef

2004-04-23 Thread Simon Cozens
[EMAIL PROTECTED] (Austin Hastings) writes: > > which doesn't quite work, because $spot is undefined. What probably happens > is that the my cheats and puts a version of undef in there that knows it > should dispatch to the Dog class if you call .self:new() on it. Anyway, > we'll make it work one

Re: A12: The dynamic nature of a class

2004-04-23 Thread Simon Cozens
[EMAIL PROTECTED] (Jeff Clites) writes: > So what does "$foo = 12" in that context actually mean in Perl6? Another interesting question is "in Perl 6, are variables typed, values typed, or a little of both?" It seems that Parrot has been working primarily on the assumption that it's values that a

RE: A12: Delegation using arrays

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Larry Wall [mailto:[EMAIL PROTECTED] > > On Fri, Apr 23, 2004 at 01:15:51PM -0400, Austin Hastings wrote: > : A12 sez: > : > : If your delegation object happens to be an array: > : > : has @:handlers handles 'foo'; > : > : then something cool happens. I

Re: A12: Typed undef

2004-04-23 Thread Larry Wall
Interestingly, the opaque shortcut used to be $class.bless(undef, *%_); But I made it 0 instead merely because it's shorter. That does, however, free up "undef" as a way of asking for an explicitly undefined but blessed value. : There are potentially two flavors of undef: : : undef : :

Re: A12: Delegation using arrays

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 10:39:33AM -0700, Larry Wall wrote: : On the other hand, maybe making %:handlers special is wrong, and it I meant @:handlers there, of course. We all seem to be having a little trouble with syntax today, doesn't us? Larry

Re: hyper op - proof of concept

2004-04-23 Thread Aaron Sherman
Note: We've moved past hyper-ops (I hope!), but there are still some details in this post that deserve a response on tangential topics. On Wed, 2004-04-21 at 11:52, Leopold Toetsch wrote: > Aaron Sherman <[EMAIL PROTECTED]> wrote: > > That's unrealistic. > > No. A real test. Sorry, I was not c

RE: A12: Typed undef

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Juerd [mailto:[EMAIL PROTECTED] > > Austin Hastings skribis 2004-04-23 13:33 (-0400): > > I should then be able to call class methods of Dog via $spot > > without further initialization: > > print defined($spot); # FALSE > > $rover = $spot.new; > > @br

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 01:05:21PM -0400, Austin Hastings wrote: : That seems like a good disambiguation marker, too: : : class Trog does Tree does Dog {...} : : # error: conflicting 'bark' methods : : class Trog : is PersistentObject : handles «meta dispatch SERIALIZE» :

Re: imcc code generation problem

2004-04-23 Thread Leopold Toetsch
Nick Glencross <[EMAIL PROTECTED]> wrote: > $I10 = word & 0x00ff > $I11 = word & 0xff00 > $I12 = word & 0x00ff > $I13 = word & 0xff00 > and the resulting code becomes > band I17, I16, 0x00ff > band I17, I16, 0xff00 > band

Re: hyper op - proof of concept

2004-04-23 Thread Dan Sugalski
At 2:09 PM -0400 4/23/04, Aaron Sherman wrote: As for the DOD: you have an excellent point, but it extends far beyond the hyper-operators. I'm starting to think that front-ends like the Python compiler or the Perl 6 compiler are going to need controls over the DOD for just the reasons you cite. Aft

Re: imcc code generation problem

2004-04-23 Thread Nick Glencross
Leopold Toetsch wrote: Well. That's it. Just use $I10 ... $I13 and they will stay what they were. Put a print thereafter for debugging which uses these regs. I should have emphasised the oddity a bit better. 'word' has mapped to I16 correctly, and I17 has been used for $I10..$I12. That's fin

Re: A12: The dynamic nature of a class

2004-04-23 Thread Jeff Clites
On Apr 23, 2004, at 11:04 AM, Simon Cozens wrote: [EMAIL PROTECTED] (Jeff Clites) writes: So what does "$foo = 12" in that context actually mean in Perl6? Another interesting question is "in Perl 6, are variables typed, values typed, or a little of both?" It seems that Parrot has been working pr

Re: A12: The dynamic nature of a class

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 12:46:04PM -0400, Dan Sugalski wrote: : Sure, that's doable, as are a number of other things. Depends on the : semantics of assignment to uninitialized types, though that's on a : per-type basis. This all gets somewhat messy when you mix in objects : and types, since what

Re: A12: The dynamic nature of a class

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 11:47:28AM -0700, Jeff Clites wrote: : That's my worry--whether we have a problem. (No problem with typed : values, of course.) If variables are typed, _and_ that typing is : lexically scoped, then I think that we don't have a problem, and it can : be handled at the compi

Re: hyper op - proof of concept

2004-04-23 Thread Leopold Toetsch
Aaron Sherman <[EMAIL PROTECTED]> wrote: > What might be interesting is to compare Parrot to Parrot doing this with > and without a hyper-operator. That's all I was trying to say. I'd posted that as well. Here again with an O3 build of parrot: $ time parrot ih.imc 6060 real0m0.214s user

Re: A12: The dynamic nature of a class

2004-04-23 Thread Dan Sugalski
At 7:04 PM +0100 4/23/04, Simon Cozens wrote: [EMAIL PROTECTED] (Jeff Clites) writes: So what does "$foo = 12" in that context actually mean in Perl6? Another interesting question is "in Perl 6, are variables typed, values typed, or a little of both?" It seems that Parrot has been working primaril

Re: A12: The dynamic nature of a class

2004-04-23 Thread Dan Sugalski
At 11:53 AM -0700 4/23/04, Larry Wall wrote: On Fri, Apr 23, 2004 at 11:47:28AM -0700, Jeff Clites wrote: : That's my worry--whether we have a problem. (No problem with typed : values, of course.) If variables are typed, _and_ that typing is : lexically scoped, then I think that we don't have a pro

Re: hyper op - proof of concept

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 14:52, Leopold Toetsch wrote: > Aaron Sherman <[EMAIL PROTECTED]> wrote: > > > What might be interesting is to compare Parrot to Parrot doing this with > > and without a hyper-operator. That's all I was trying to say. > > I'd posted that as well. Here again with an O3 build

Re: imcc code generation problem

2004-04-23 Thread Leopold Toetsch
Nick Glencross <[EMAIL PROTECTED]> wrote: > The problem is that $I13 has become *I16*, not (say) I17, so the line > $I13 = word & 0xff00 > has actually had the side effect of changing 'word'. Well C and C<$I13> or some such is the same for the compiler. Both need a Parrot register allocatio

Re: hyper op - proof of concept

2004-04-23 Thread Dan Sugalski
At 3:25 PM -0400 4/23/04, Aaron Sherman wrote: That I did not know about, but noticed Dan pointing it out too. I'm still learning a lot here, It might be best, for everyone's peace of mind, blood pressure, and general edification, to take a(nother) run through the documentation. The stuff in docs

Re: A12: The dynamic nature of a class

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 03:14:47PM -0400, Dan Sugalski wrote: : It also depends on whether the type is on the name or the container. : Which is your call. :-P (Though, given my druthers, I'd leave it on : the container) We should certainly leave them on the container. The sin of rebinding a nam

Re: hyper op - proof of concept

2004-04-23 Thread Leopold Toetsch
Aaron Sherman <[EMAIL PROTECTED]> wrote: > On Fri, 2004-04-23 at 14:52, Leopold Toetsch wrote: >> >> I'd posted that as well. Here again with an O3 build of parrot: > Oops, missed that. Thanks! I'm shocked by the difference in > performance... it makes me wonder how efficient the optimization+JIT

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 14:17, Larry Wall wrote: > : does Tree > : handles «bark» > : does Dog > That works in the case of an explicitly named method, since that > effectively makes .bark a method in the current class. It would not > work for a wildcard delegation though, unles

Re: A12: Delegation using arrays

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 02:07:16PM -0400, Austin Hastings wrote: : I guess I'm more strongly attached to the sigil than I realized. IMO, if you : have : : $obj handles 'a'; : : and put an arrayref in $obj, then you get what's coming: iteration. But if : you have : : @obj handles 'a'; : : th

RE: A12: Conflicting Attributes in Roles

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Larry Wall [mailto:[EMAIL PROTECTED] > > On Fri, Apr 23, 2004 at 01:05:21PM -0400, Austin Hastings wrote: > : That seems like a good disambiguation marker, too: > : > : class Trog does Tree does Dog {...} > : > : # error: conflicting 'bark' methods > : > :

RE: A12: Typed undef

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Larry Wall [mailto:[EMAIL PROTECTED] > > Interestingly, the opaque shortcut used to be > > $class.bless(undef, *%_); > > But I made it 0 instead merely because it's shorter. That does, however, > free up "undef" as a way of asking for an explicitly undefi

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 14:28, Aaron Sherman wrote: > I would expect wildcard delegation not to care about method conflicts at > all, since what's being done is, by its nature, much more dynamic > anyway. I misunderstood roles when I said this... I now get why this is a problem, sorry. -- Aaron S

Re: A12: Typed undef

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 02:50:42PM -0400, Austin Hastings wrote: : Sure, but "You haven't provided a value yet." doesn't seem very ... : exceptional. The important thing will be "You didn't provide a value at line 42, though you didn't actually try to use it till line 582." : Sure -- the class of

RE: A12: Delegation using arrays

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Larry Wall [mailto:[EMAIL PROTECTED] > > On Fri, Apr 23, 2004 at 02:07:16PM -0400, Austin Hastings wrote: > : I guess I'm more strongly attached to the sigil than I > realized. IMO, if you > : have > : > : $obj handles 'a'; > : > : and put an arrayref in $ob

Re: A12: default accessors and encapsulation

2004-04-23 Thread Aaron Sherman
On Tue, 2004-04-20 at 10:13, John Siracusa wrote: > On 4/19/04 7:20 PM, Larry Wall wrote: > > On Mon, Apr 19, 2004 at 06:53:29PM -0400, John Siracusa wrote: > > : Yeah, that's exactly what I don't want to type over and over :) > > > > I really don't understand what you're getting at here. First y

RE: A12: Typed undef

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Larry Wall [mailto:[EMAIL PROTECTED] > > On Fri, Apr 23, 2004 at 02:50:42PM -0400, Austin Hastings wrote: > : Sure, but "You haven't provided a value yet." doesn't seem very ... > : exceptional. > > The important thing will be "You didn't provide a value at li

RE: A12: default accessors and encapsulation

2004-04-23 Thread Austin Hastings
> -Original Message- > From: Aaron Sherman [mailto:[EMAIL PROTECTED] > Sent: Friday, 23 April, 2004 03:12 PM > To: John Siracusa > Cc: Perl 6 Language > Subject: Re: A12: default accessors and encapsulation > > > On Tue, 2004-04-20 at 10:13, John Siracusa wrote: > > On 4/19/04 7:20 PM, La

Re: A12: Typed undef

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 03:18:22PM -0400, Austin Hastings wrote: : > -Original Message- : > From: Larry Wall [mailto:[EMAIL PROTECTED] : > : > On Fri, Apr 23, 2004 at 02:50:42PM -0400, Austin Hastings wrote: : > : Sure, but "You haven't provided a value yet." doesn't seem very ... : > : exc

Re: A12: Delegation using arrays

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 03:13:09PM -0400, Austin Hastings wrote: : Can I declare a const reference and have it optimized away? : : class Queue { : has @:elements; : has $:array_delegate : handles : = \@:elements : is const; : } I suppose, depending on what you mean

Re: A12: Typed undef

2004-04-23 Thread Dave Whipp
"Larry Wall" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On Fri, Apr 23, 2004 at 02:50:42PM -0400, Austin Hastings wrote: > : Sure, but "You haven't provided a value yet." doesn't seem very ... > : exceptional. > > The important thing will be "You didn't provide a value at line 4

Re: A12: Typed undef

2004-04-23 Thread Aaron Sherman
On Fri, 2004-04-23 at 15:46, Dave Whipp wrote: > Just wondering, are we going to have semantics similar to the old NaN Vs > Signaling-Nan in IEEE floating point? An IEE NaN has an N-bit field where > the source of the NaN can place a value representing the reason for the NaN. > It can also set a f

Re: A12: Typed undef

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 12:46:07PM -0700, Dave Whipp wrote: : I'm not sure how much of this is relevant to C, but it might be nice : to have the ability to have an undef that says "if used, then trap" (using : the current "use fail" mode -- if that still exists) I suppose one could give a typed un

Re: A12: default accessors and encapsulation

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 03:23:09PM -0400, Austin Hastings wrote: : > And if you override the accessor, you can: : > : > multi method foo(Str $blah = undef) is rw($new) { : > (my($old),$.foo)=($.foo,$blah//$new); : > .update_the_world_in_some_cool_way(); : > r

A12: context-sensitive multi routines?

2004-04-23 Thread Jonathan Lang
"Then we simply claim that, under multiple dispatch, the "long name" of any multi routine includes its signature, and that visibility is based on the long name." (paragraph 3, "Multiple Dispatch") Is a routine's "returns" trait also included in a multi routine's "long name"? That is, if I define

RE: A12: Conflicting Attributes in Roles

2004-04-23 Thread Jonathan Lang
Austin Hastings wrote: > Jonathan Lang wrote: > > role A {has Cat $.x;} > > role B {has Dog $.x;} > > class Foo {does Cat; does Dog;} > > my Foo $bar; > > $bar.x; # Is this a Cat or a Dog? > > > If, however, two roles try to introduce a method of the same name (for > some definition of name), t

missint math ops?

2004-04-23 Thread Aaron Sherman
I'm trying to write some code, and I'm not finding certain ops. Now, perhaps this is just that I don't know how to look for them, or perhaps they have yet to be written, so please pardon my ignorance. These are things that seem fairly atomic, and which exist in the C library. If they truly don't ex

Re: A12: context-sensitive multi routines?

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 02:20:20PM -0700, Jonathan Lang wrote: : "Then we simply claim that, under multiple dispatch, the "long name" of : any multi routine includes its signature, and that visibility is based on : the long name." (paragraph 3, "Multiple Dispatch") : : Is a routine's "returns" tra

The strings design document

2004-04-23 Thread Dan Sugalski
Is tacked on. Note that we *do* have to support as core languages which don't force unicode universally (perl 5, python, and ruby) *and* we have to support the writing of stream filters in pure parrot, so the goal of 100% pure unadulterated Unicode except at the very edge isn't attainable, no m

RE: A12: Conflicting Attributes in Roles

2004-04-23 Thread Dan Sugalski
At 2:37 PM -0700 4/23/04, Jonathan Lang wrote: Austin Hastings wrote: Jonathan Lang wrote: > role A {has Cat $.x;} > role B {has Dog $.x;} > class Foo {does Cat; does Dog;} > my Foo $bar; > $bar.x; # Is this a Cat or a Dog? If, however, two roles try to introduce a method of the same nam

Re: A12: Conflicting Attributes in Roles

2004-04-23 Thread Larry Wall
On Fri, Apr 23, 2004 at 02:37:58PM -0700, Jonathan Lang wrote: : Note that the problem extends past accessors: a role's methods can access : its attributes directly. So: : : role A {has Cat $.x; method m1 {return $.x;};} : role B {has Dog $.x; method m2 {return $.x;};} : class Foo {does Cat

Win32 build fails on src\interpreter.str

2004-04-23 Thread Jonathan Worthington
Hi, I'm kinda tied up with stuff, but just to flag up a Win32 build issue... src\global_setup.c global_setup.c NMAKE : fatal error U1073: don't know how to make 'src\interpreter.str' Stop.

A12: Exporation

2004-04-23 Thread Aaron Sherman
At the end of A12, "Exportation" covered the idea that you will now say: sub foo() is export {...} Rather than the P5: @EXPORT=qw(foo); sub foo; Which is fine, except that in P5 we could say: use Foo qw(foo); @EXPORT=qw(foo); Now, I know that the Apoc o

Re: missint math ops?

2004-04-23 Thread chromatic
On Fri, 2004-04-23 at 14:38, Aaron Sherman wrote: > I'm trying to write some code, and I'm not finding certain ops. > rand/srand > sqrt I was surprised not to see something like signbit. It's in my config/gen/platform/generic/math.h. Then again, I tend to skim documentation. :) -

Re: missint math ops?

2004-04-23 Thread Dan Sugalski
At 5:38 PM -0400 4/23/04, Aaron Sherman wrote: I'm trying to write some code, and I'm not finding certain ops. rand/srand sqrt Those are both missing, which is odd--I thought we had them in at one point, and there's support code for random numbers in utils.c. There is a random nu

A12: nested roles

2004-04-23 Thread Jonathan Lang
Can role definitions be nested? That is: role A { role subRole1 {...}; role subRole2 {...}; ... }; As I see it, this ought to be equivelent to role A::subRole1 {...}; role A::subRole2 {...}; role A { does A::subRole1; does A::subRole2; ... }; The advantage of

A12: subtypes that lack methods or roles

2004-04-23 Thread Jonathan Lang
How would I declare a subtype of a class which messes with the dispatching mechanism to exclude certain methods and/or roles from it? = Jonathan "Dataweaver" Lang __ Do you Yahoo!? Yahoo! Photos: High-quality 4x6 digital prints for

  1   2   >