Re: INP (imcc's not parrot)

2002-08-21 Thread Melvin Smith
At 05:44 PM 8/21/2002 -0400, John Porter wrote: The outstanding question is, Is imcc a part of the parrot system? When compiler writers target parrot, do we really want them to target imcc? I have a feeling some of you would answer yes to that question all too My answer is yes, not because I

Re: INP (imcc's not parrot)

2002-08-21 Thread Melvin Smith
At 07:00 PM 8/21/2002 -0400, 'John Porter' wrote: No; but statements like imcc MUST provide access to ALL of parrot's (still very dynamic) feature set and discussions of imcc syntax naturally lead to questions of imcc's role in the parrot project. E.g. will the perl6 compiler target imcc? Good

Re: imcc hack for perl6 regexes

2002-08-21 Thread Melvin Smith
At 11:15 PM 8/21/2002 +0200, Leopold Toetsch wrote: So please, first, let's consider the status quo, not the future. Agree. _SV_s1 = clone $P1 I've considered changing '=' to mean clone, and add ':=' to imply set. What do you think? -Melvin

Re: INP (imcc's not parrot)

2002-08-21 Thread Melvin Smith
At 10:59 PM 8/21/2002 -0400, 'John Porter' wrote: Sean O'Rourke wrote: However, if we already have a working register allocator and peephole optimizer, I see little reason to write another. Maybe you're taking a very perl6-centric view. (I don't know.) But as someone who's writing an

Re: [COMMIT] Some of you may have noticed...

2002-08-21 Thread Melvin Smith
Jeff wins the Who took all the inodes? prize for 2002. -Melvin

Re: [perl #16087] [PATCH] Scratchpad pmc

2002-08-12 Thread Melvin Smith
At 01:10 PM 8/12/2002 -0600, Jonathan Sillito wrote: 1) The Parrot_Sub struct in sub.h has its own user_stack and control_stack. Why is this necessary? Probably an artifact of my failed experiments. :) Originally Dan said subs would need their own stacks. Either way, they should be part of

Re: Prototypes

2002-08-12 Thread Melvin Smith
At 06:56 PM 8/12/2002 +0100, Simon Cozens wrote: Here's a more interesting question: which parts of Parrot are enshrined, and which are prototypes, ready to be thrown away? For instance, I'd say much of languages/* is all proof-of-concept prototype stuff; imcc may not be. The assembler I'd call a

Re: [perl #16087] [PATCH] Scratchpad pmc

2002-08-12 Thread Melvin Smith
At 08:14 PM 8/12/2002 -0700, Sean O'Rourke wrote: On Mon, 12 Aug 2002, Melvin Smith wrote: 4) Parrot_Coroutine's 'init' is not longer used and can go away, I guess I could remove it in a future patch ... ok so that's not a question I wish this wouldn't go away. I think passing

Re: Lexical variables, scratchpads, closures, ...

2002-08-02 Thread Melvin Smith
At 06:14 PM 8/1/2002 +0200, Jerome Vouillon wrote: Melvin, I think it would really help if you could explain us how you would compile this code. Also, you should describe precisely what invoke and new_pad (and maybe the other scratchpad-related opcodes) do as far as scratchpads are concerned.

Re: Lexical variables, scratchpads, closures, ...

2002-08-02 Thread Melvin Smith
At 08:50 AM 8/2/2002 -0700, Sean O'Rourke wrote: Without performance numbers, this is hard to test, but it can potentially turn a single a = b + c, which is just add P0, P1, P2 if a, b, and c have been referenced, into a hideous five instructions: fetch_lex P0, 'a' # Because how we store

Re: Lexical variables, scratchpads, closures, ...

2002-08-02 Thread Melvin Smith
At 06:14 PM 8/1/2002 +0200, Jerome Vouillon wrote: On Wed, Jul 31, 2002 at 11:40:39AM -0600, Jonathan Sillito wrote: So here is my take on a slightly simpler example: sub foo { my $x = 13; return sub { print $x\n; }; } $foo() Melvin, I think it would really help if

Re: Lexical variables, scratchpads, closures, ...

2002-08-01 Thread Melvin Smith
Jerome Vouillon writes: On Wed, Jul 31, 2002 at 11:22:56PM -0400, Melvin Smith wrote: At 06:25 PM 7/31/2002 +0200, Jerome Vouillon wrote: Closures A subroutine must have access to the scratchpads of all the englobing blocks. As the scratchpads are linked, it is sufficient to add

Re: I'm back...

2002-07-31 Thread Melvin Smith
At 06:41 PM 7/30/2002 -0400, John Porter wrote: Sean O'Rourke wrote: I read that as expressions are evaluated once, not PMC's are accessed once. So something like 2 $i++ 23 will do the expected -- increment $i once, keeping the result in a PMC temporary. I don't see that.

Re: parrot reading from stdin

2002-07-31 Thread Melvin Smith
At 03:18 PM 7/31/2002 -0700, Stephen Rawls wrote: I'm sure this has been thought out before, but I'll press on anyway. Assuming parrot shouldn't always create intermediate files (.pbc), then shouldn't parrot be able to take an input stream as an argument instead of a filename? That way, one

Re: Lexical variables, scratchpads, closures, ...

2002-07-31 Thread Melvin Smith
At 06:25 PM 7/31/2002 +0200, Jerome Vouillon wrote: Scratchpads We need to allocate an area in the heap for each lexical variable. Instead of allocating this area one variable at a time, we can allocate a single scratchpad value for all variables of a block: this is more efficient.

Re: we need more ops.

2002-07-30 Thread Melvin Smith
Dan wrote: At 10:43 AM -0400 7/29/02, Melvin Smith wrote: At 10:45 AM 7/29/2002 +0100, Nicholas Clark wrote: The VM and assembler does not need to provide every operator as an new 'op'. Eventually, languages with funky operators need to start thinking about implementing them as methods

Re: [perl #15846] [PATCH] lexical scope ops, test and example

2002-07-30 Thread Melvin Smith
At 06:56 PM 7/30/2002 +, via RT wrote: # New Ticket Created by Jonathan Sillito # Please include the string: [perl #15846] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt2/Ticket/Display.html?id=15846 This patch supersedes my previous

Re: [PATCH] [perl #15267] Re: [perl fix rot in pxs and Qt example broken

2002-07-30 Thread Melvin Smith
At 02:48 PM 7/22/2002 +, Stéphane Payrard wrote: On Sun, Jul 21, 2002 at 02:05:42PM +, s. payrard @ wanadoo. fr wrote: # New Ticket Created by [EMAIL PROTECTED] # Please include the string: [perl #15267] # in the subject line of all future correspondence about this issue. # URL:

Re: [perl #15879] [PATCH] UNICOS/mk ld hinting

2002-07-30 Thread Melvin Smith
At 05:21 AM 7/31/2002 +, via RT wrote: # New Ticket Created by Jarkko Hietaniemi # Please include the string: [perl #15879] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt2/Ticket/Display.html?id=15879 Using ld for ld does not work.

Re: [perl #15880] [PATCH] generic platform.c should not assume dynaloading

2002-07-30 Thread Melvin Smith
At 05:24 AM 7/31/2002 +, via RT wrote: # New Ticket Created by Jarkko Hietaniemi # Please include the string: [perl #15880] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt2/Ticket/Display.html?id=15880 I think the generic platform.c

Re: [perl #15882] [PATCH] Test.pm glitch

2002-07-30 Thread Melvin Smith
At 05:26 AM 7/31/2002 +, via RT wrote: # New Ticket Created by Jarkko Hietaniemi # Please include the string: [perl #15882] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt2/Ticket/Display.html?id=15882 I thought exit code 0.01171875 was

Re: [perl #15883] [PATCH] can't do bit arithmetics with enums

2002-07-30 Thread Melvin Smith
At 05:28 AM 7/31/2002 +, via RT wrote: # New Ticket Created by Jarkko Hietaniemi # Please include the string: [perl #15883] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt2/Ticket/Display.html?id=15883 SGI cc gets upset by enum bit

Re: we need more ops.

2002-07-29 Thread Melvin Smith
At 10:45 AM 7/29/2002 +0100, Nicholas Clark wrote: [Maybe we should have a competition to suggest the most crazy three character operator - ie state your sequence of three characters (not necessarily ASCII, but it helps), state their name, and state their purpose (including whether listop, binop,

Re: of Mops, jit and perl6

2002-07-29 Thread Melvin Smith
At 07:57 PM 7/29/2002 -0700, Sean O'Rourke wrote: On Mon, 29 Jul 2002, Dan Sugalski wrote: Just out of curiosity, I presume the (rather abysmal) perl 6 numbers include time to generate the assembly and assemble it--have you tried running the generated code by itself as a test? (At the

Re: [perl #15676] [PATCH] Re: The quest for no compiler warnings

2002-07-27 Thread Melvin Smith
At 04:08 PM 7/27/2002 +, via RT wrote: # New Ticket Created by Nicholas Clark # Please include the string: [perl #15676] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt2/Ticket/Display.html?id=15676 Thanks Nicholas. Applied. -Melvin

Array vs. PerlArray

2002-07-26 Thread Melvin Smith
Array currently is broken. I'm not sure about _how_ broken, but I know it doesn't work as well as PerlArray. I think Steve Fink worked out some bugs in PerlArray that may have been left in Array. I can't remember who wrote what (I know it wasn't me, Jeff maybe?), but if there aren't any

Primitive Array/Hash PMCs

2002-07-26 Thread Melvin Smith
Since not all languages targetting Parrot need or want neato things like aggregate keys, I propose that they be left to the Perl* stuff and we make the default Array/Hash very simple, but fast primitive versions. That means a plain Array will be able to use Ix registers directly as subscripts

PMC's and high level languages

2002-07-24 Thread Melvin Smith
With the mass of discussion revolving around PMCs lately, I just want to put my 2 cents in. It is not clear to me yet that there needs to be a 1-to-1 correlation from PMC's to upper level classes. I can't see Parrot ever providing enough vtable methods for every language that will ever target

Re: cvs commit: parrot/languages/imcc imcc.l imcc.y

2002-07-24 Thread Melvin Smith
At 02:19 PM 7/24/2002 +, [EMAIL PROTECTED] wrote: cvsuser 02/07/24 07:19:27 Modified:languages/imcc imcc.l imcc.y Log: Set IF_r0_read for set Px, Ay. On IMCC's aggressive behaviour :) I finally sat down and looked at this. This fix will only make the symptom go away for

Re: lexical scopes and scratchpads

2002-07-23 Thread Melvin Smith
At 12:14 PM 7/23/2002 -0600, Jonathan Sillito wrote: Is now a good time to start a discussion on lexical scopes? Is anyone currently working on an implementation of scratchpads? I have sketched I started on a simple implementation. I decided to just use the PerlHash that we already have. I

Re: [PRE-RELEASE] Release of 0.0.7 tomorrow evening

2002-07-22 Thread Melvin Smith
At 12:00 PM 7/22/2002 +0100, Nicholas Clark wrote: On Mon, Jul 22, 2002 at 11:21:09AM +0100, Graham Barr wrote: On Mon, Jul 22, 2002 at 11:14:15AM +0100, Sam Vilain wrote: Sean O'Rourke [EMAIL PROTECTED] wrote: languages/perl6/README sort of hides it, but it does say that If you

Re: [perl #15340] [PATCH] Boolean PMC

2002-07-22 Thread Melvin Smith
At 05:47 PM 7/22/2002 +0100, Nicholas Clark wrote: Opefully, this can be accepted ;) Do pmc files get turned pretty directly into C code? Yep. And if pmc files get turned pretty directly into C code, do the C++ style comments stay in there? If yes and yes, then the patch won't be acceptable

Re: an aside on compiling speed (was Re: PARROT QUESTIONS: Keyed access)

2002-07-22 Thread Melvin Smith
At 09:58 PM 7/22/2002 +0100, Nicholas Clark wrote: On Sun, Jul 21, 2002 at 11:46:34AM -0700, Scott Walters wrote: Perl 5 runs *awesome* on a 486/25. Java (Kaffe) is completely unusable. AWT windows come up in a matter of *days*, whereas a Tk window comes up in about 45 seconds. On a fast

Re: [perl #15340] [PATCH] Boolean PMC

2002-07-22 Thread Melvin Smith
At 07:45 PM 7/22/2002 -0400, Melvin Smith wrote: At 05:47 PM 7/22/2002 +0100, Nicholas Clark wrote: I think boolean is a language dependant thing and probably shouldn't be implemented as a PMC. For some languages, boolean can be optimized all the way down to the JIT level, and I'm not sure which

Re: Subs?

2002-07-18 Thread Melvin Smith
At 02:16 PM 7/18/2002 -0600, Jonathan Sillito wrote: On Wed, 2002-07-17 at 22:01, Melvin Smith wrote: Subs, co-routines and continuations are at a very limited, but functional state. Basically you can create a PMC with a bytecode address or label and use the call/callco/callcc ops

Re: [PATCH] Subs?

2002-07-18 Thread Melvin Smith
At 05:00 PM 7/18/2002 -0600, Jonathan Sillito wrote: On Thu, 2002-07-18 at 14:27, Melvin Smith wrote: The temporary fix is to do: Attached are three small patches, two of them change example files (examples/assembly/coroutine.pasm and examples/assembly/sub.pasm) to use this fix that Melvin

Re: [PATCH] dod.dev

2002-07-18 Thread Melvin Smith
At 06:35 PM 7/18/2002 -0400, Tanton Gibbs wrote: This is the .dev file for dod.c Applied, thanks. They are all in docs/dev now. -Melvin

Re: [PATCH] dod.dev

2002-07-18 Thread Melvin Smith
At 11:54 PM 7/18/2002 -0400, Josh Wilmes wrote: I really dislike this. It wasn't my choice, I just asked for a consensus on IRC since I didn't see a final decision on p6i. Feel free to move them wherever. -Melvin

RE: [PATCH] rx.dev

2002-07-17 Thread Melvin Smith
At 06:14 PM 7/16/2002 -0700, John Porter wrote: Melvin Smith wrote: I put it temporarily in the root dir, which I know is wrong. Where should .dev files go, anyway? Actually, I think that's right. ..dev files live alongside their .c/.h siblings, no? Hmm, looking at the source directory

Re: If you *don't* want credit, speak up now!

2002-07-17 Thread Melvin Smith
At 04:50 PM 7/17/2002 -0400, Dan Sugalski wrote: I'm putting together my presentations for TPC (one of the reasons I've been missing the past few days). There's going to be a good round of acknowledgements in the State of the Parrot talk. If you've contributed and *don't* want to be

Re: Subs?

2002-07-17 Thread Melvin Smith
At 09:16 PM 7/17/2002 -0400, Dan Sugalski wrote: Melvin (and the rest of you... :) Are subroutine PMCs at a point where we can use them? If not, that's fine, but if so, they can go on the list 'o things. (And we can add global variables, if they didn't make it in the 0.0.6 release notes)

Re: Streams vs. Descriptors

2002-07-16 Thread Melvin Smith
At 09:42 AM 7/16/2002 -0700, Damien Neil wrote: On Mon, Jul 15, 2002 at 08:59:40PM -0400, Melvin Smith wrote: True async IO implementations allow other things besides just notifying the process when data is available. Things like predictive seeks, or bundling up multiple read/writes, etc

RE: [PATCH] rx.dev

2002-07-16 Thread Melvin Smith
At 05:08 PM 7/15/2002 -0700, Stephen Rawls wrote: Ok, I cleaned up the file a little bit, and added pod declarations. Should be finalized or close to it at least. If anyone likes it, I'll start working on making a .dev file for some other files, and start asking questions while I'm at it

Re: [PATCH] imcc: bugfixes and life analysis

2002-07-15 Thread Melvin Smith
At 05:25 AM 7/16/2002 +0200, Angel Faus wrote: Hi Melvin, This patch does the following things: - It includes patch #813 from Sean O'Rourke - It fixes another bug in spill(), who was generating bad code - It adds a bunch of work using the control-flow graph, analyzing the exact places

Re: Streams vs. Descriptors

2002-07-15 Thread Melvin Smith
At 11:18 AM 7/15/2002 -0700, Damien Neil wrote: On Mon, Jul 15, 2002 at 12:16:29AM -0400, Melvin Smith wrote: 1) Async support. The IO system needs to be asynchronous and re-entrant at the core, whether by threads or by use of the platform's async support. Other things like callbacks assume

Re: PARROT QUESTIONS: Use the source, Luke

2002-07-15 Thread Melvin Smith
At 11:08 AM 7/15/2002 -0700, Damien Neil wrote: On Mon, Jul 15, 2002 at 12:34:52AM -0400, Melvin Smith wrote: The last four are reserved by various C and C++ standards. I always hear this, but in real life it is never much of a problem. Especially with a namespace like [Parrot

Re: PARROT QUESTIONS: Keyed access

2002-07-14 Thread Melvin Smith
At 03:54 PM 7/14/2002 +0100, Tom Hughes wrote: I've been trying to make sense of the current status of keyed access at all levels, from the assembler through the ops to the vtables and it has to be said that the harder I look the more confused I seem to become... I think we all have... FWIW, I

Re: Streams vs. Descriptors

2002-07-14 Thread Melvin Smith
At 09:55 PM 7/14/2002 -0400, Josh Wilmes wrote: IMHO, there's no way to find out quite like trying to use it :) In my experiences with it thus far, it all seems to work fine. Melvin has indicated that its API and internal structure may need some changes at some point, but the basic

RE: PARROT QUESTIONS: Use the source, Luke

2002-07-14 Thread Melvin Smith
At 09:27 PM 7/14/2002 -0700, Brent Dax wrote: Wow, Brent lives! :) Here's the rules, roughly as they stand right now: -Functions start with Parrot_[a-z] or just [a-z]. -Typedefed names start with Parrot_[A-Z] or just [A-Z]. -Macros and constants start with

Re: Glossary Requests

2002-07-12 Thread Melvin Smith
At 11:13 AM 7/12/2002 -0400, Mike Litherland wrote: I've been lurking for a bit until I'm up to speed enough to help out. I'm glad to see a glossary is forming of some of the terms newbies need, but there are some things I think are missing. First is that COW was discussed a few days (weeks?)

Re: coders: add doco

2002-07-12 Thread Melvin Smith
At 01:37 AM 7/12/2002 -0700, John Porter wrote: I have to say that I am extremely disappointed at the paucity of internal documentation. push melvins_list_of_disappointments, $johns_disappointment; I know this is going to be extremely painful for some of you hackers... consider it a chance to

Parrot contribution

2002-07-12 Thread Melvin Smith
flame on I've seen several comments go across with valid concerns, and a few that perplex me. Guys, look at the facts. We have a very small number of internals hackers here, and only one who actually gets paid for it. Most of us have jobs and families, and we slip in this stuff in little slices

Re: Parrot contribution

2002-07-12 Thread Melvin Smith
Which IRC network, which channel? I use irc.pobox.com, you can also try irc.rhizomatic.net Channel is #parrot Sorry for past, present, and future newbie questions. Doubly so for having As always, newbie questions are welcome, and I think the Parrot list is usually nicely on-topic.

Re: Parrot contribution

2002-07-12 Thread Melvin Smith
At 01:16 PM 7/12/2002 -0700, John Porter wrote: Melvin Smith wrote: Guys, look at the facts. We have a very small number of internals hackers here, and only one who actually gets paid for it. . . . We are not an army. I'm so busy building this tower single-handedly, I don't have time

Project for an eager person

2002-07-11 Thread Melvin Smith
It appears that not all of the keyed versions for aggregates are supported by the assembler and/or in the ops file. If someone has time, I think it would be very useful to catalogue: 1) Which keyed versions are we missing (if any) 2) Which are working (by working I mean they exist in core.ops

Re: Mutable vs immutable strings

2002-07-10 Thread Melvin Smith
At 02:13 PM 7/10/2002 -0700, John Porter wrote: Dan Sugalski wrote: John Porter wrote: but what about non-PMC variables? Generally speaking, there aren't any. Everything else (in this case the buffer/string things) is for internal use only. Languages aren't supposed to expose

Re: Mutable vs immutable strings

2002-07-10 Thread Melvin Smith
At 04:34 PM 7/10/2002 -0600, Luke Palmer wrote: On Wed, 10 Jul 2002, Melvin Smith wrote: At 02:13 PM 7/10/2002 -0700, John Porter wrote: Dan Sugalski wrote: John Porter wrote: but what about non-PMC variables? Generally speaking, there aren't any. Everything else

Re: [netlabs #791] [PATCH] add some ops to core.ops

2002-07-10 Thread Melvin Smith
At 10:38 PM 7/10/2002 -0500, via RT wrote: # New Ticket Created by Sean O'Rourke # Please include the string: [netlabs #791] # in the subject line of all future correspondence about this issue. # URL: http://bugs6.perl.org/rt2/Ticket/Display.html?id=791 This patch adds several ops that exist

Re: [netlabs #769] [PATCH] let imcc use if PMC, label

2002-07-07 Thread Melvin Smith
At 05:01 PM 7/7/2002 -0400, via RT wrote: # New Ticket Created by Sean O'Rourke # Please include the string: [netlabs #769] # in the subject line of all future correspondence about this issue. # URL: http://bugs6.perl.org/rt2/Ticket/Display.html?id=769 imcc currently only seems to support

Re: init_method_t for coroutines and subs?

2002-07-07 Thread Melvin Smith
At 08:55 AM 7/5/2002 -0500, David M. Lloyd wrote: On Wed, 3 Jul 2002, Melvin Smith wrote: At 09:51 PM 7/3/2002 -0400, Josh Wilmes wrote: I know there was some talk about this extra address parameter recently, but i'm not sure what the upshot of it is. Right now, tcc is complaining

Re: init_method_t for coroutines and subs?

2002-07-07 Thread Melvin Smith
At 12:48 PM 7/5/2002 -0400, Dan Sugalski wrote: At 10:39 PM -0400 7/3/02, Melvin Smith wrote: At 09:51 PM 7/3/2002 -0400, Josh Wilmes wrote: I know there was some talk about this extra address parameter recently, but i'm not sure what the upshot of it is. Right now, tcc is complaining loudly

PMC renaming

2002-07-04 Thread Melvin Smith
FYI, PMCs ParrotPointer, ParrotSub and ParrotCoroutine have been renamed to Pointer, Sub and Coroutine. Parrot PMCs reserve the basic names, and language specific (Perl*, Ruby*) should prepend their PMCs with the language name. -Melvin

Re: init_method_t for coroutines and subs?

2002-07-03 Thread Melvin Smith
At 09:51 PM 7/3/2002 -0400, Josh Wilmes wrote: I know there was some talk about this extra address parameter recently, but i'm not sure what the upshot of it is. Right now, tcc is complaining loudly because the init functions for parrotsub and parrotcoroutine don't match the init_method_t type

Re: Stack performance issue

2002-07-01 Thread Melvin Smith
At 06:59 PM 6/30/2002 +0100, Tom Hughes wrote: of the ARM procedure call standard. The solution there is to always keep one chunk in reserve - when you move back out of a chunk you don't free it. Instead you wait until you move back another chunk and then free the chunk after the one that has

Re: Stack and GC

2002-06-21 Thread Melvin Smith
At 06:34 PM 6/21/2002 +0200, Jerome Vouillon wrote: On Thu, Jun 20, 2002 at 12:26:11AM -0400, Melvin Smith wrote: Given that it seems capturing and restoring a context is the most expensive part, should we make default routines lightweight (execute on caller stack rather than getting

Re: Stack and GC

2002-06-21 Thread Melvin Smith
At 10:22 PM 6/21/2002 +0200, Jerome Vouillon wrote: On Fri, Jun 21, 2002 at 02:33:33PM -0400, Melvin Smith wrote: Now, if you look at it and say we can do a lightweight interpreter, I think that is what I'm trying to accomplish, but I'm calling it Parrot_Context. Ok. Then, you should do

Re: Irrational fear of macros

2002-06-18 Thread Melvin Smith
At 12:47 AM 6/18/2002 -0400, David J. Goehrig wrote: Melvin's quip regarding macros, while harmless in itself, is, I fear, a symptom of a real problem. One of the muses for parrot and perl 6 has always been I have no fear of macros; I contributed quite a few to Parrot myself. :) Perl 5's

Re: Irrational fear of macros

2002-06-18 Thread Melvin Smith
At 11:49 AM 6/18/2002 -0700, Larry Wall wrote: On Tue, 18 Jun 2002, Melvin Smith wrote: : 2) In fact, there are MANY funny named macros in Perl5. That is precisely *why* they had to have funny names. Perl 5's macro naming schemes were a vast improvement over Perl 4's. In Perl 4

Re: Perl6 grammar

2002-06-18 Thread Melvin Smith
At 09:29 PM 6/18/2002 +0200, Jerome Vouillon wrote: On Mon, Jun 17, 2002 at 04:59:05PM -0400, Melvin Smith wrote: I have started writing a Perl 6 grammar: http://www.pps.jussieu.fr/~vouillon/parrot/parser.y It is far from complete, and certainly not very accurate, but it may be a good start

Assembler bug

2002-06-13 Thread Melvin Smith
I'll put this into RT tracker. I noticed this while integrating some code from Angel Faus for the IMCC compiler. The assembler currently does not check if your register is in the correct range. So it allows: set I11, -1 At least I don't think we've implemented unlimited register file size.

IMCC 0.0.3 beefs up

2002-06-13 Thread Melvin Smith
I've just committed the 3rd revision of the Parrot intermediate compiler. Angel Faus has added register spilling to work with the graph-coloring allocator. Currently we spill regs to an array in P31. Given that we don't have random access stacks, this is the only fast way to do this. Much thanks

Re: [netlabs #702] BASIC causes sevg's in parrot

2002-06-12 Thread Melvin Smith
At 09:03 PM 6/12/2002 -0400, Jason Gloudon wrote: On Tue, Jun 11, 2002 at 12:04:19PM -, Clinton A. Pierce wrote: # New Ticket Created by Clinton A. Pierce # Please include the string: [netlabs #702] # in the subject line of all future correspondence about this issue. # URL:

Re: Stacks, stacks, stacks (And frames)

2002-06-11 Thread Melvin Smith
At 05:07 PM 6/11/2002 +0100, Dave Mitchell wrote: On Tue, Jun 11, 2002 at 11:31:37AM -0400, Dan Sugalski wrote: We'll find out with A6 whether we do coroutines and continuations as part of the core perl. If not, well, python does the first and ruby the second, so it's all good in there.

Re: Stacks, stacks, stacks (And frames)

2002-06-11 Thread Melvin Smith
At 12:29 PM 6/11/2002 -0400, Melvin Smith wrote: You can think of continuations as an execution context. This context incudes everything, not just stack. It is a snapshot in time. You may think Let me rephrase. The context doesn't include everything, rather everything that is local to that call

Re: cvs commit: parrot io.ops

2002-06-09 Thread Melvin Smith
At 04:34 PM 6/9/2002 +, [EMAIL PROTECTED] wrote: cvsuser 02/06/09 09:34:43 This needs rethinking. PIOHANDLE may not be an integer, so this implementation is probably incorrect. For now, i'm just disabling it unless the UNIX io module is used, so that warnings aren't

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-09 Thread Melvin Smith
At 03:49 PM 6/9/2002 +0200, Jerome Vouillon wrote: Thanks for the links and references, Jerome. I'll have a go at digesting these. As soon as the new neural pathways have formed I'll try to comment on where I can see us improving our implementation. :) -Melvin

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 09:50 AM 6/8/2002 +0200, Jerome Vouillon wrote: Alternatively, I think you can just replace the definition of yield by: inline op yield (in INT) { struct Parrot_Sub * sub = (struct Parrot_Sub*)interpreter-pmc_reg.registers[0]-data; sub-init = OFFSET($1);

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 09:50 AM 6/8/2002 +0200, Jerome Vouillon wrote: On Sat, Jun 08, 2002 at 01:15:48AM -0400, Dan Sugalski wrote: First, we need to beef up ret, but that's a problem of definition. It Why does ret need to be so smart? We can have an opcode that pop exception handlers (we need it anyway) and a

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 08:15 PM 6/8/2002 +0200, Jerome Vouillon wrote: I think this is a design mistake of the Java VM. It would have been more efficient to keep the local variables on the stack. Define efficient. I assume they made their choices for more than one reason, and I'd hesitate to call it a design

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 08:27 PM 6/8/2002 +0200, Jerome Vouillon wrote: On Sat, Jun 08, 2002 at 12:20:55PM -0400, Melvin Smith wrote: What would that accomplish? If yield is to suspend the current coroutine and return back to the controlling context, you don't need an argument to yield, unless you wish

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 08:30 PM 6/8/2002 +0200, Jerome Vouillon wrote: On Fri, Jun 07, 2002 at 07:40:14PM -0400, Melvin Smith wrote: The support isn't complete, for example, co-routines, etc. need to swap in their own context, which right now they don't do. Instead of using some space on the stack, co-routines

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 03:48 PM 6/8/2002 -0400, Dan Sugalski wrote: At 3:35 PM -0400 6/8/02, Melvin Smith wrote: At more risk of admitting more of my ignorance... We have to store the closure's variables somewhere, if not on a stack, where? In scratchpads. The way perl 5 does it is that every subroutine has

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 02:36 PM 6/8/2002 -0400, Dan Sugalski wrote: At 8:15 PM +0200 6/8/02, Jerome Vouillon wrote: On Sat, Jun 08, 2002 at 12:30:36PM -0400, Melvin Smith wrote: The Java VM does this by popping values off of the local stack, and onto the callee's stack upon return. I think this is a design

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-08 Thread Melvin Smith
At 08:30 PM 6/8/2002 +0200, Jerome Vouillon wrote: On Fri, Jun 07, 2002 at 07:40:14PM -0400, Melvin Smith wrote: The support isn't complete, for example, co-routines, etc. need to swap in their own context, which right now they don't do. Instead of using some space on the stack, co-routines

Re: Subs for parrot

2002-06-07 Thread Melvin Smith
At 01:50 AM 6/7/2002 -0400, Dan Sugalski wrote: So, we're adding an invoke vtable method, and we'll have four sub PMC types: ParrotSub, ParrotClosure, ParrotCoroutine, and ParrotContinuation. We ought to be able to create them with limited trouble, and it's OK if they've got evil knowledge of

Re: PIO/io_stdio?

2002-06-07 Thread Melvin Smith
At 03:28 AM 6/7/2002 -0400, Josh Wilmes wrote: It appears that the mechanism for choosing an os layer for PIO could use some work, and it also appears that io_stdio is incomplete. Yes to both. The mechanism: #ifndef WIN32 PIO_push_layer(interpreter, PIO_base_new_layer(pio_unix_layer),

Re: PIO/io_stdio?

2002-06-07 Thread Melvin Smith
At 03:38 PM 6/7/2002 +0100, Nicholas Clark wrote: Is the goal to eliminate all the stdio code, so that by release parrot can't run on stdio? (ie all OSes must have some sort of direct layer, and porting parrot involves creating such a layer if none exists) As far as I know, yes. Or that parrot

Naming

2002-06-07 Thread Melvin Smith
Rather than naming all the basic Parrot types (I mean classes that are exposed at the PASM level) Parrot* (ParrotPointer, ParrotSub, ...) I propse we name them by their simple names and require all new languages to prefix their types ala PerlString, etc. We already have Array and Intqueue that

Re: [PATCH PDD 7] Update type-naming conventions

2002-06-07 Thread Melvin Smith
At 05:16 PM 6/7/2002 -0700, Brent Dax wrote: Subject says it all. Updates conventions to be consistent with much of the core. Unfortunately, that doesn't include 'struct Parrot_Interp'. I'll work on bringing the source up to date as soon as pending patches are in. -Melvin

Re: [COMMIT] Subs and co-routines in Parrot

2002-06-07 Thread Melvin Smith
At 07:40 PM 6/7/2002 -0400, Melvin Smith wrote: # Sample sub-routines in Parrot # # Create 2 subroutines # set_addr I0, SUB new P0, .ParrotSub, I0 save P0 new P0, .ParrotSub, I0 # Calling convention says P0 will contain the sub call restore P0 # Call second one call end # A subroutine address

Ix regs for keyed access, PMCs and other peeves

2002-06-05 Thread Melvin Smith
Warning, if this message is too long, please skim to the bottom and read the part marked IDEA, lest it get lost in the rant. rant Why make keyed access of arrays any more complicated than it needs to be? The Ix regs are for optimization, so it seems natural for Ix or ICx simply return the i-th

Re: Stack

2002-06-05 Thread Melvin Smith
At 04:48 PM 6/5/2002 +0200, Jerome Vouillon wrote: My feeling is that the current implementations of stacks are not adequate: - the control stacks store too many registers at once; They are register windows, so I think they work fine for that purpose. It doesn't mean the control stack must be

RE: [netlabs #653] PATCH: P14[I3] support

2002-06-03 Thread Melvin Smith
At 01:29 AM 6/3/2002 -0700, Brent Dax wrote: Leon Brocard: # This little patchette lets the new shiny assembler cope with # using an I register as a PMC key, eg P14[I3]. Obviously # brainf*ck needs to be in the testsuite ;-) See my comment on a previous, similar patch by Simon Glover. If you

Re: [netlabs #655] [PATCH] Squash some warnings on Solaris

2002-06-03 Thread Melvin Smith
it introduces warnings on other platforms? I would cast the opposite way. dlopen/dlsym can take a const char * so just declare s as const char * s instead. -Melvin Smith IBM :: Atlanta Innovation Center [EMAIL PROTECTED] :: 770-835-6984

RE: Parrot_Interp - Parrot_Interp_t

2002-06-02 Thread Melvin Smith
At 10:06 PM 6/1/2002 -0700, Brent Dax wrote: Melvin Smith: # If there are no complaints I'm going to commit this when I # commit the initial patch for extensions. I think that's renaming it the wrong way. The struct should probably become parrot_interp_t and the typedef Parrot_Interp

Parrot Extension API

2002-06-01 Thread Melvin Smith
I'm working on an experimental extension API, which is going well, but I'm pondering how the GC should cooperate with native calls. Currently I have some code like: # t.pasm loadlib P0, libpqt.so print Loaded\n callnative P1, P0, PQt_init end /* libpqt.c */ int PQt_init(Interp * interp) {

Re: Parrot Extension API

2002-06-01 Thread Melvin Smith
At 02:17 PM 6/1/2002 -0400, Melvin Smith wrote: # t.pasm loadlib P0, libpqt.so print Loaded\n callnative P1, P0, PQt_init end The correct code is actually: loadlib P0, libpqt.so print Loaded\n # Save an argument for native method save Testing... # callnative calls a native method and caches

Re: Parrot Extension API

2002-06-01 Thread Melvin Smith
Now there are a dozen ways to handle this. Using flags, keeping args on the stack until return, yada yada yada... One option is we don't pass args to native on the normal stack, rather create a scratchpad Array PMC and pass it instead, so the routine can access it randomly. However, I'm unsure

Re: [COMMIT] New Assembler in place

2002-06-01 Thread Melvin Smith
At 12:39 AM 6/1/2002 -0400, Jeff wrote: As noted, the new assembler is now in place. There isn't much Yay! FYI, Cola breaks with the new assembler. I think this is for 2 reasons, multiple labels and not allowing _ in label names. Kevin posted a couple of patches which fix the breakage, but I'm

Re: Parrot Extension API

2002-06-01 Thread Melvin Smith
At 02:50 PM 6/1/2002 -0400, Dan Sugalski wrote: At 2:17 PM -0400 6/1/02, Melvin Smith wrote: Now there are a dozen ways to handle this. Using flags, keeping args on the stack until return, yada yada yada... Since extensions are supposed to be isolated from the interpreter internals, I'm just

<    1   2   3   4   5   6   >