Re: String API

2003-08-24 Thread Benjamin Goldberg
Dan Sugalski wrote: > > At 12:07 AM -0400 8/19/03, Benjamin Goldberg wrote: > >There are a number of shortcomings in the API, which I'd like to address > >here, and propose improvments for. > > You're conflating language level strings with low-level strings. Don't. > > STRINGs, the parrot stru

Re: Weak References?

2003-08-24 Thread Benjamin Goldberg
Dan Sugalski wrote: > > At 9:27 PM -0400 8/21/03, Benjamin Goldberg wrote: > >I would like for Parrot to have some way of creating Weak References; I > >think that this is probably a vital feature. > > No, it isn't, and we've discussed this before. (You were involved, as > I recall) Weak refere

Re: Weak References?

2003-08-24 Thread Benjamin Goldberg
Gordon Henriksen wrote: > > On Saturday, August 23, 2003, at 08:17 , Benjamin Goldberg wrote: > > > The reason this is safe to do is because it's *only* created by the > > dod, > > Allocating memory during garbage collection? Why not? Or at least, why not for sys_mem_allocate()d memory? --

Re: What the heck is: timely destruction

2003-08-24 Thread Nicholas Clark
On Sun, Aug 24, 2003 at 09:44:52PM +0100, Tim Bunce wrote: > On Sun, Aug 24, 2003 at 10:48:02AM -0700, Steve Fink wrote: > > I guess you could think of the lifecycle of an individual object as > > being controlled by a few significant life events: > > > > 1. birth > > 2. the last reference disa

Re: What the heck is: timely destruction

2003-08-24 Thread Tim Bunce
On Sun, Aug 24, 2003 at 10:48:02AM -0700, Steve Fink wrote: > It would probably make discussion easier if people switched to using > better terminology. I prefer using "destruction" to mean the memory > for an object actually getting freed, and "finalization" for whatever > cleanup actions an objec

Re: program exit code

2003-08-24 Thread Dan Sugalski
At 12:09 PM +0200 8/24/03, Leopold Toetsch wrote: Parrot programs have commandline info in P0 but there is no means to communicate an exit-status to the shell. We could do: 1) REG_INT(5) ...has exit code 2) end Ix ... end opcode has exit code 3) exit_code Ix .. set exit code 1) breaks existing pr

Re: String API

2003-08-24 Thread Dan Sugalski
At 10:01 AM +0200 8/22/03, Leopold Toetsch wrote: Benjamin Goldberg <[EMAIL PROTECTED]> wrote: Leopold Toetsch wrote: I have problems imaginating such kind of STRINGs. You lack sufficient imagination -- Larry's suggested that Perl6 strings may consist of a list of chunks. I can easily imagine

Re: String API

2003-08-24 Thread Dan Sugalski
At 12:57 PM +0200 8/21/03, Peter Gibbs wrote: If the string API is to be revised, I would like to suggest that consideration be given to having a single string vtable, merging the current encoding and chartype structures into a single one. I think this has been addressed, but in case it hasn't... w

Re: String API

2003-08-24 Thread Dan Sugalski
At 12:07 AM -0400 8/19/03, Benjamin Goldberg wrote: There are a number of shortcomings in the API, which I'd like to address here, and propose improvments for. You're conflating language level strings with low-level strings. Don't. STRINGs, the parrot structure and what S registers point to, are

Re: generic code generator revisited

2003-08-24 Thread James Michael DuPont
With great interest have I read about the idea of a Generic Code generator and AST representation. I would like to point out that the current experiments with the gcc show that RDF provides an optimal representation of AST structures. I have targeted the parrot as one of the language systems to b

Re: What the heck is: timely destruction

2003-08-24 Thread Dan Sugalski
At 6:45 PM -0700 8/18/03, Dave Whipp wrote: "Benjamin Goldberg" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] What we'd like is a way (and there've been a couple proposed) to make it so that the sweep at the end of scope can *quickly* determine that all objects needing timely destr

Re: Phalanx has started, and I need perl-qa's help

2003-08-24 Thread Nick Ing-Simmons
Matthew O. Persico <[EMAIL PROTECTED]> writes: >On Thu, 21 Aug 2003 22:48:11 -0500, Andy Lester wrote: >[snip] >>The project page is at http://qa.perl.org/phalanx/. �Please take a >>look, tell me your thoughts, and if there are any serious ommissions >>from the Phalanx 100 module list... > >Tk? If

Re: What the heck is: timely destruction

2003-08-24 Thread Steve Fink
It would probably make discussion easier if people switched to using better terminology. I prefer using "destruction" to mean the memory for an object actually getting freed, and "finalization" for whatever cleanup actions an object performs at some point after it is no longer accessible. So "timel

Re: Weak References?

2003-08-24 Thread Dan Sugalski
At 9:27 PM -0400 8/21/03, Benjamin Goldberg wrote: I would like for Parrot to have some way of creating Weak References; I think that this is probably a vital feature. No, it isn't, and we've discussed this before. (You were involved, as I recall) Weak references can be done entirely with notifica

RE: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Brent Dax
Michal Wallace: # On Sun, 24 Aug 2003, Leopold Toetsch wrote: # > We have two kinds of file/line information: Parrot source and HLL # > source. So the C<.currentline> macro needs duplication or an argument # > specifying, which source it should denote. # # And when parrot throws an error and comp

RE: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Brent Dax
Gordon Henriksen: # p6.pl 1: my $var is int; # p6.pl 2: $var = ($var * $var + 1) * 2 + 3; # # p6.imc 1: .local int var # p6.imc 2: setfile "p6.pl" # p6.imc 3: setline 1 # p6.imc 4: var = 0 # So far, so good. # p6.imc 5: var = var *

Re: Lazy DOD

2003-08-24 Thread Nicholas Clark
On Mon, May 26, 2003 at 01:33:20PM -0400, Dan Sugalski wrote: > I think what we're going to have to do is have a way to mark > filehandes as either eager for destruction or lazy for destruction. > (I'm not sure which, it depends on the default Larry chooses) That > way there'll at least be some

Re: program exit code

2003-08-24 Thread Jos Visser
On Sun, Aug 24, 2003 at 03:19:37PM +0100 it came to pass that Nicholas Clark wrote: > > > 1) REG_INT(5) ...has exit code > > I like the idea of (1), but I'm used to C. It seems quite clean if the > top level subroutine just "returns" to its caller, which happens to be > the shell. C (and perl) can

Re: program exit code

2003-08-24 Thread Gordon Henriksen
On Sunday, August 24, 2003, at 10:19, Nicholas Clark wrote: IIRC someone said that in python to exit (in what sounds like this fashion) you just raise a system.exit exception. By default it gets caught by the caller of your main routine, and your program exits. But you can trap the exception, a

Re: Phalanx has started, and I need perl-qa's help

2003-08-24 Thread Adam Foxson
On Thu, 21 Aug 2003 22:48:11 -0500, Andy Lester wrote: > The project page is at http://qa.perl.org/phalanx/. Please take a > look, tell me your thoughts, and if there are any serious ommissions > from the Phalanx 100 module list... Test::Reporter? -- Adam J. Foxson

Re: program exit code

2003-08-24 Thread Nicholas Clark
On Sun, Aug 24, 2003 at 01:07:48PM +0200, Jos Visser wrote: > On Sun, Aug 24, 2003 at 12:09:21PM +0200 it came to pass that Leopold Toetsch wrote: > > Parrot programs have commandline info in P0 but there is no means to > > communicate an exit-status to the shell. > > We could do: > > > > 1) REG_

Re: Phalanx has started, and I need perl-qa's help

2003-08-24 Thread Matthew O. Persico
On Thu, 21 Aug 2003 22:48:11 -0500, Andy Lester wrote: [snip] >The project page is at http://qa.perl.org/phalanx/.  Please take a >look, tell me your thoughts, and if there are any serious ommissions >from the Phalanx 100 module list... Tk? -- Matthew O. Persico

Re: program exit code

2003-08-24 Thread Jos Visser
On Sun, Aug 24, 2003 at 12:09:21PM +0200 it came to pass that Leopold Toetsch wrote: > Parrot programs have commandline info in P0 but there is no means to > communicate an exit-status to the shell. > We could do: > > 1) REG_INT(5) ...has exit code > 2) end Ix ... end opcode has exit code > 3) ex

program exit code

2003-08-24 Thread Leopold Toetsch
Parrot programs have commandline info in P0 but there is no means to communicate an exit-status to the shell. We could do: 1) REG_INT(5) ...has exit code 2) end Ix ... end opcode has exit code 3) exit_code Ix .. set exit code 1) breaks existing programs but fits calling conventions 2) could break

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Michal Wallace
On Sun, 24 Aug 2003, Leopold Toetsch wrote: > We have two kinds of file/line information: Parrot source and HLL > source. So the C<.currentline> macro needs duplication or an argument > specifying, which source it should denote. And when parrot throws an error and complains about line 5, which o

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Leopold Toetsch
Benjamin Goldberg <[EMAIL PROTECTED]> wrote: > Do macros have their own line number context, or do they get the context > from the code they're being called from? Macros have their own line numbers. Tracking filenames (from .include) isn't done yet. Debugging PASM with JIT/i386 inside ddd[1] foll

[CVS ci] ATTENTION please - incompatible changes

2003-08-24 Thread Leopold Toetsch
I have removed now the "feature" of parsing code outside of subs. All code must be contained now in .sub/.pcc_sub/.emit blocks. For PASM source files an .emit/.eom is provided by the lexer. This was announced 3 weeks ago. parrot/imcc/perl6 tests still pass (modulo s/inf/Inf/). I didn't look at

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Leopold Toetsch
Robert Spier <[EMAIL PROTECTED]> wrote: >> > The HLL doesn't know, how many ops one source line will need. >> >> Not *normally*, but if it's including code which is already literal >> assembler, it does: Imagine a version of lex/yacc wherein the the blocks >> of code you give are imcc or pasm (inst

Re: PerlHash.get_pmc_keyed of non existing key

2003-08-24 Thread Leopold Toetsch
Nicholas Clark wrote: So I assume, that the returned PerlUndef should be put into the aggregate, if there was none before access. I believe yes, it must, for consistency. Is there an op to copy the value out of an aggregate, without changing the aggregate? The (shallow copy) value assignment, nee

Re: [RfC] constant PMCs and classes

2003-08-24 Thread Leopold Toetsch
Luke Palmer wrote: Ok, so supposing this split happens, what would it look like? As in, would there now be two vtables, one for variables and one for values? Would it just be a logical split? AFAIK we would have still one vtable divided into sub-structures. At least the get/set_ methods would b

Re: String API

2003-08-24 Thread Gordon Henriksen
Now, I don't really have much of an opinion on compound strings in general. I do want to address one particular argument, though—the lazily slurped file string. On Thursday, August 21, 2003, at 07:22 , Benjamin Goldberg wrote: A foolish question: can you imagine strings which are lazily read fr

Re: Weak References?

2003-08-24 Thread Gordon Henriksen
On Saturday, August 23, 2003, at 08:17 , Benjamin Goldberg wrote: The reason this is safe to do is because it's *only* created by the dod, Allocating memory during garbage collection? — Gordon Henriksen [EMAIL PROTECTED]

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Gordon Henriksen
On Saturday, August 23, 2003, at 08:22 , Benjamin Goldberg wrote: Leopold Toetsch wrote: Benjamin Goldberg <[EMAIL PROTECTED]> wrote: setline_i Ix # the next line is x, each succeeding line increases. The HLL doesn't know, how many ops one source line will need. Not *normally*, but if it's in

Re: Method call parameters

2003-08-24 Thread Michal Wallace
On Sun, 24 Aug 2003, Benjamin Goldberg wrote: > Togos wrote: > > > > What's the reasoning behind putting the object a > > method is being called on in P2 instead of in the > > first parameter of the method? I have a feeling that > > putting it as the first parameter of the method would > > make t

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Robert Spier
> For that matter, won't the optomizer wreak havoc with other all of the > various other uses of .setline? One would hope. > Anyway, how about this semantic: .setline_i would associate an > ... Before making up semantics, it might be useful to look at what other systems do, like STABS and DWARF

Re: Method call parameters

2003-08-24 Thread Benjamin Goldberg
Togos wrote: > > What's the reasoning behind putting the object a > method is being called on in P2 instead of in the > first parameter of the method? I have a feeling that > putting it as the first parameter of the method would > make the lives of the python folks a little bit > easier. Would i

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Benjamin Goldberg
Robert Spier wrote: > > > > The HLL doesn't know, how many ops one source line will need. > > > > Not *normally*, but if it's including code which is already literal > > assembler, it does: Imagine a version of lex/yacc wherein the the > > blocks of code you give are imcc or pasm (instead of C).

Method call parameters

2003-08-24 Thread TOGoS
What's the reasoning behind putting the object a method is being called on in P2 instead of in the first parameter of the method? I have a feeling that putting it as the first parameter of the method would make the lives of the python folks a little bit easier. Would it make it harder for someone e

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Robert Spier
> > The HLL doesn't know, how many ops one source line will need. > > Not *normally*, but if it's including code which is already literal > assembler, it does: Imagine a version of lex/yacc wherein the the blocks > of code you give are imcc or pasm (instead of C). Clearly, there's one > op per li

Re: PerlHash.get_pmc_keyed of non existing key

2003-08-24 Thread Benjamin Goldberg
Gordon Henriksen wrote: > > Taking a thread from Perl 6 Internals. Will Perl 6 support this behavior? > > $ perl <<'EOT' > my @ary; > my $ref = \$ary[0]; > $$ref = "value"; > print '$ary[0] : ', $ary[0], "\n"; > EOT

Re: Weak References?

2003-08-24 Thread Benjamin Goldberg
Juergen Boemmels wrote: > > Benjamin Goldberg <[EMAIL PROTECTED]> writes: > > > But suppose that at the end of DoD, the object we're weakly referring > > to gets marked as alive? Now, we would need to look through that > > object's list of destroy-functions, and remove all of the > > weakref-c

Re: Should I target Parrot?

2003-08-24 Thread Michal Wallace
On Fri, 22 Aug 2003, Benjamin Goldberg wrote: > Michal Wallace wrote: > > > > On Thu, 21 Aug 2003, Benjamin Goldberg wrote: > > > > > If you want, instead, to serialize interpreter->microthreads, > > > however... well, you'd *still* get almost the whole interpreter > > > serialized, but you're g

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Benjamin Goldberg
Juergen Boemmels wrote: > > Benjamin Goldberg <[EMAIL PROTECTED]> writes: > > > > Normal processors also don't have setline and setfile operations. They > > > use an extra segment in the *.o file, which is only used by the > > > debugger. This could also be done in parrot. > > > > In other word

Re: [CVS ci] PackFile-15: print warning location

2003-08-24 Thread Benjamin Goldberg
Leopold Toetsch wrote: > > Benjamin Goldberg <[EMAIL PROTECTED]> wrote: > > > In other words, setline and setfile ops in source don't translate to > > actual ops in the bytecode, but instead translate to additions/changes > > to the debugging segment? > > Exactly. (+ C, which isn't done yet) >

Re: Weak References?

2003-08-24 Thread Benjamin Goldberg
I dislike replying to myself, however, it seems I haven't been clear enough in describing how I think this (c|sh)ould be implemented. Let's abstract DoD to the following psuedocode: function markalive(p) { if(!p.is_alive) interpreter->dod_queue.enqueue(p); } for p in all