Re: Meta-design

2000-12-06 Thread Nicholas Clark
On Tue, Dec 05, 2000 at 11:12:01PM -0500, Bradley M. Kuhn wrote: helps people think about the issues. However, I would like it to be possible for a programmer of language Foobar to take the specification of the data structures and implement them directly in Foobar without too much trouble.

Re: Meta-design

2000-12-06 Thread Jarkko Hietaniemi
No, there isn't. I object to targetting GCC specifically for two reasons, though, neither of them VMS related: 1) Targeting a single compiler, no matter whose it is, is a bad idea. We're writing in a *language*, not for a compiler. Targeting a specific compiler restricts us even more

Re: Meta-design

2000-12-06 Thread Nathan Torkington
Simon Cozens writes: This is not a design document; it's a meta-design document - that is, it tells us what things we need to design, the things we need to consider during the design process of the Perl 6 internals. Thank you! Why does string Ceval have to screw everything up? It doesn't.

Re: Meta-design

2000-12-06 Thread Daniel Chetlin
On Wed, Dec 06, 2000 at 08:31:07AM -0700, Nathan Torkington wrote: Simon Cozens writes: Why does string Ceval have to screw everything up? It doesn't. String eval is the escape hatch from a language that can't do what you want it to do. As such it's okay for it to be slow--consider it

Re: Meta-design

2000-12-06 Thread Dan Sugalski
At 08:31 AM 12/6/00 -0700, Nathan Torkington wrote: Simon Cozens writes: Today's scary thought: use B; my $main_root = new B::OP; ... my $int = new B::Interpreter; $int-run($main_root) That's yesterday's scary thought. Today's scary thought is making a perl5 XS wrapper for

RE: Meta-design

2000-12-06 Thread Dan Sugalski
At 06:47 AM 12/6/00 -0800, Evan Howarth wrote: Perhaps a hybrid approach would solve all the language needs. Retain reference counting. When the count drops to zero, call the destructor and mark the object. Free marked objects when sweep runs. To reclaim circular references, the sweep task may

OO AV/HV's and tie (was Re: Meta-design)

2000-12-06 Thread Nathan Wiger
Simon Cozens wrote: =head2 Implementation Language C++ gives us OO and headaches, is wildly non-portable due to a lack of decent implementations, and we don't have enough experience of it. C's portable and everyone knows it, but it's a swine for doing OO things. Don't forget we can

Call for apprentice: was Re: Meta-design

2000-12-06 Thread Simon Cozens
On Wed, Dec 06, 2000 at 11:48:45AM +, Nicholas Clark wrote: (Is maintaining such a document an "apprentice" job? (see perl6-meta)) I'd certainly like someone to take on the maintainance of the document I posted last night, because I hope that one of its functions will be to explain to

Re: Meta-design

2000-12-06 Thread Simon Cozens
On Wed, Dec 06, 2000 at 08:31:07AM -0700, Nathan Torkington wrote: Today's scary thought: use B; my $main_root = new B::OP; ... my $int = new B::Interpreter; $int-run($main_root) That's yesterday's scary thought. Today's scary thought is making a perl5 XS wrapper for

Re: OO AV/HV's and tie (was Re: Meta-design)

2000-12-06 Thread Simon Cozens
Oh boy, it's OO syntax nargery time again. *sigh*. On Wed, Dec 06, 2000 at 10:51:14AM -0800, Nathan Wiger wrote: @array-length %hash-keys Simply keeping @arrays and %hashes as buckets for SV's wouldn't let you do this. I don't think that's true. At all. An "SV" would really just

Re: OO AV/HV's and tie (was Re: Meta-design)

2000-12-06 Thread Simon Cozens
On Wed, Dec 06, 2000 at 10:51:14AM -0800, Nathan Wiger wrote: Don't forget we can mix-and-match C/C++ to some degree for added portability! -- If computer science was a science, computer "scientists" would study what computer systems do and draw well-reasoned conclusions from it, instead of

Re: What's a PDD for the rest of us?

2000-12-06 Thread Dan Sugalski
At 02:39 PM 12/6/00 -0500, Bryan C. Warnock wrote: In http://www.mail-archive.com/perl6-internals@perl.org/msg01766.html, Dan outlined rev 2 of the RFC process, PDD (Perl Design Docs). Everything seems rather specific to internals - will there be a separate mechanism in place for all-things

Re: OO AV/HV's and tie (was Re: Meta-design)

2000-12-06 Thread Dan Sugalski
At 07:55 PM 12/6/00 +, Simon Cozens wrote: Oh boy, it's OO syntax nargery time again. *sigh*. On Wed, Dec 06, 2000 at 10:51:14AM -0800, Nathan Wiger wrote: @array-length %hash-keys Simply keeping @arrays and %hashes as buckets for SV's wouldn't let you do this. I don't think

RE: Meta-design

2000-12-06 Thread Sam Tregar
On Wed, 6 Dec 2000, Dan Sugalski wrote: What I'm thinking is that we'll have a scoped destruct stack that gets pointers to variables that explicitly need destruction, and as we exit levels of scope we call the destructors of those variables that need it. (They can still be GC'd later to pick

RE: Meta-design

2000-12-06 Thread Dan Sugalski
At 03:14 PM 12/6/00 -0500, Sam Tregar wrote: On Wed, 6 Dec 2000, Dan Sugalski wrote: What I'm thinking is that we'll have a scoped destruct stack that gets pointers to variables that explicitly need destruction, and as we exit levels of scope we call the destructors of those variables that

RE: Meta-design

2000-12-06 Thread Sam Tregar
On Wed, 6 Dec 2000, Dan Sugalski wrote: my $new_dog; { my $dog = new Dog; $new_dog = \$dog; } That would hoist the Dog reference into an outer level of scope--in this case the one containing $new_dog. Or so my thinking goes at the moment, though there may be

Re: OO AV/HV's and tie (was Re: Meta-design)

2000-12-06 Thread Nathan Wiger
Simon Cozens wrote: Oh boy, it's OO syntax nargery time again. *sigh*. I think it would be cool Good for you. This is internals design; perl6-language is over there --- and the "ph33r mY |ewl dr3am 5inta" phase is supposed to be over now anyway. Cool! Thanks alot for the useful

RE: Meta-design

2000-12-06 Thread Dan Sugalski
At 03:38 PM 12/6/00 -0500, Sam Tregar wrote: On Wed, 6 Dec 2000, Dan Sugalski wrote: my $new_dog; { my $dog = new Dog; $new_dog = \$dog; } That would hoist the Dog reference into an outer level of scope--in this case the one containing $new_dog. Or so my

RE: Meta-design

2000-12-06 Thread Dan Sugalski
At 03:54 PM 12/6/00 -0500, Sam Tregar wrote: On Wed, 6 Dec 2000, Dan Sugalski wrote: Non-refcounting GC schemes are more expensive when they collect, but less expensive otherwise, and it apparently is a win for the non-refcount schemes. Which is why GC is intimately tied to DESTROY

RE: Meta-design

2000-12-06 Thread Buddha Buck
At 03:54 PM 12-06-2000 -0500, Sam Tregar wrote: On Wed, 6 Dec 2000, Dan Sugalski wrote: Non-refcounting GC schemes are more expensive when they collect, but less expensive otherwise, and it apparently is a win for the non-refcount schemes. Which is why GC is intimately tied to DESTROY

RE: Meta-design

2000-12-06 Thread Sam Tregar
On Wed, 6 Dec 2000, Dan Sugalski wrote: Sure, but only objects. (or, to be really paranoid, things referred to) Nothing else needs refcounting. All the refcounting code can be isolated in the reference creation and deletion code, and we don't have to pay it otherwise. Good point. I hadn't

What's a PDD for the rest of us?

2000-12-06 Thread Bryan C. Warnock
In http://www.mail-archive.com/perl6-internals@perl.org/msg01766.html, Dan outlined rev 2 of the RFC process, PDD (Perl Design Docs). Everything seems rather specific to internals - will there be a separate mechanism in place for all-things non-internal, say, for instance, the format for a

Re: Markup wars (was Re: Proposal for groups)

2000-12-06 Thread Russ Allbery
Bennett Todd [EMAIL PROTECTED] writes: My own personal favourite for archival format would be to stick with POD until and unless we can cons up something even Plainer than POD. I've got this dream that someday we'll be able to take something --- perhaps based on Damian's Text::Autoformat ---

Perl6 in Java? (was Re: Meta-design)

2000-12-06 Thread Bradley M. Kuhn
Dan Sugalski [EMAIL PROTECTED] wrote: More importantly, what we're doing is outside Java's area of competence. We're writing system-level code here. Java isn't a system-level programming language. This isn't a bad thing, but it means it's an inappropriate solution to the problem. We

documenting interfaces (was Re: Meta-design)

2000-12-06 Thread Bradley M. Kuhn
Dan Sugalski [EMAIL PROTECTED] wrote: [vtable stuff snipped] I don't think it's too early to be dealing with the way variables are implemented, at least at some level. I agree; I didn't mean for it to sound like I was saying otherwise. Also, just because we do vtables under the hood

this was only an academic example (was Re: Meta-design)

2000-12-06 Thread Bradley M. Kuhn
Nicholas Clark [EMAIL PROTECTED] wrote: 2 things the above reminds me to watch out for int32 toInt32() don't assume anything about integer sizes (or any machine native type sizes or precisions, or that floating point can (or can't) preserve integers)

Re: Meta-design

2000-12-06 Thread Bradley M. Kuhn
Why does string Ceval have to screw everything up? Nathan Torkington [EMAIL PROTECTED] wrote: It doesn't. String eval is the escape hatch from a language that can't do what you want it to do. As such it's okay for it to be slow--consider it incentive to fix the language :-) The runtime

Re: Meta-design

2000-12-06 Thread Bradley M. Kuhn
At 07:49 AM 12/6/00 -0800, Daniel Chetlin wrote: Simply deciding that `eval STRING' is "unimplemented" on these theoretical ports and binary compiles is the best idea I've heard yet, but we should remember that `require' is built on `eval STRING'. I see no reason to ghettoize powerful

Re: Meta-design

2000-12-06 Thread Jarkko Hietaniemi
On Wed, Dec 06, 2000 at 08:30:06PM -0500, Bradley M. Kuhn wrote: At 07:49 AM 12/6/00 -0800, Daniel Chetlin wrote: Simply deciding that `eval STRING' is "unimplemented" on these theoretical ports and binary compiles is the best idea I've heard yet, but we should remember that `require' is

Re: Perl6 in Java? (was Re: Meta-design)

2000-12-06 Thread Sam Tregar
On Wed, 6 Dec 2000, Bradley M. Kuhn wrote: And, it will make the barrier for entry for new internals hacker lower. Really? Do you honestly believe there are more Java programmers than C programmers? Particularily in the Perl development community! I would note that if we write in Java, we

RE: Meta-design

2000-12-06 Thread Evan Howarth
Decisions of GC models rapidly become religious arguments. The most important argument is: Does a particular GC model meet the Perl 6 language requirements? Reference counting fulfills the language requirement for deterministic destructor calls. (Those destructors might be freeing

Re: Meta-design

2000-12-06 Thread Jarkko Hietaniemi
This example shows that you can offend all "religious" camps and still capitalize on their disparate arguments. Sounds like keeping the holidays of all the religions and but none of the penances. I like it :-) -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist