Re: An overview of the Parrot interpreter

2001-09-05 Thread Paolo Molaro
On 09/04/01 Dan Sugalski wrote: Regardless, it's the way we're going to go for now. If it turns out to be a performance dog then we'll go with a stack-based system. Initial indications look pretty good, though. Care to share some numbers/code for that? You're right that optimization

Re: An overview of the Parrot interpreter

2001-09-05 Thread Paolo Molaro
On 09/04/01 Uri Guttman wrote: does it really matter about comprehension? this is not going to be used by the unwashed masses. a stack machine is easier to describe (hence all the freshman CS projects :), but as dan has said, there isn't much mental difference if you have done any serious

Re: An overview of the Parrot interpreter

2001-09-05 Thread Dan Sugalski
At 03:19 PM 9/5/2001 +0200, Paolo Molaro wrote: On 09/04/01 Uri Guttman wrote: does it really matter about comprehension? this is not going to be used by the unwashed masses. a stack machine is easier to describe (hence all the freshman CS projects :), but as dan has said, there isn't much

Re: An overview of the Parrot interpreter

2001-09-05 Thread Dan Sugalski
[I'm answering these out of order--sorry. Already answered elsewhere bits snipped] At 02:28 PM 9/5/2001 +0200, Paolo Molaro wrote: On 09/04/01 Dan Sugalski wrote: More on this point later in the mail. There's a reason for that: register virtual machines are more complex and more difficult

RE: An overview of the Parrot interpreter

2001-09-05 Thread Hong Zhang
True, but it is easier to generate FAST code for a register machine. A stack machine forces a lot of book-keeping either run-time inc/dec of sp, or alternatively compile-time what-is-offset-now stuff. The latter is a real pain if you are trying to issue multiple instructions at once. I

RE: An overview of the Parrot interpreter

2001-09-05 Thread Hong Zhang
If you really want a comparison, here's one. Take this loop: i = 0; while (i 1000) { i = i + 7; } with the ops executed in the loop marked with pipes. The corresponding parrot code would be: getaddr P0, i store P0, 0 store I0,

RE: An overview of the Parrot interpreter

2001-09-05 Thread Dan Sugalski
At 11:17 AM 9/5/2001 -0700, Hong Zhang wrote: Howerver, I like to point out one hidden overhead of register opcode is decoding the parameter. The add instrction of stack machine does not have args, but for register machine, it has 3 arguments. I skipped the decoding step in the machine design on

Re: CLOS multiple dispatch

2001-09-05 Thread David L. Nicol
Dan Sugalski wrote: [... massive sniping snippage ...] The problem I was talking about was those cases where we have a good but not perfect match at compile time. In the case you gave, we assume that @A are full of fish, so dispatch to the multiple fish parameter version of list_medication.

Re: debugger API PDD, v1.1

2001-09-05 Thread Rick Welykochy
Dave Storrs wrote: [schnippe] =head3 Generating Code on the Fly What's this =head3 stuff? My pod processor barfs on it :) Aye, here's the rub. _ Rick Welykochy || Praxis Services Pty Limited One of the main advantages of the 'dot-bomb' downturn

Re: debugger API PDD, v1.1

2001-09-05 Thread Simon Cozens
On Wed, Sep 05, 2001 at 08:32:36PM +1000, Rick Welykochy wrote: Dave Storrs wrote: [schnippe] =head3 Generating Code on the Fly What's this =head3 stuff? My pod processor barfs on it :) Then update it. :)