Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-11 Thread Bradley M. Kuhn
Jarkko Hietaniemi <[EMAIL PROTECTED]> wrote: [Re: Giving data about why it's hard to use B:: to port to the JVM] > Yes, *PLEASE*. Some hard data is always nice, even when (or especially > when) it's unpleasant to hear. I won't have "hard numbers", as it is always completely possible that some

Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-11 Thread Jarkko Hietaniemi
On Mon, Dec 11, 2000 at 08:18:05AM -0500, Joshua N Pritikin wrote: > On Sat, Dec 09, 2000 at 05:06:27AM -0500, [EMAIL PROTECTED] wrote: > > > Because the Python folks didn't have a problem basing JPython off of > > > CPython. > > > > Actually, this one isn't a good comparison. Python is substant

Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-11 Thread Joshua N Pritikin
On Sat, Dec 09, 2000 at 05:06:27AM -0500, [EMAIL PROTECTED] wrote: > > Because the Python folks didn't have a problem basing JPython off of > > CPython. > > Actually, this one isn't a good comparison. Python is substantially easier > to parse, and, is a much simpler language. I like Perl becaus

Re: Guaranteed object destruction (was Re: Meta-design)

2000-12-11 Thread Piers Cawley
Dan Sugalski <[EMAIL PROTECTED]> writes: > At 05:55 PM 12/7/00 +, Piers Cawley wrote: > >Dan Sugalski <[EMAIL PROTECTED]> writes: > > > I think I'd just as soon always call DESTROY in a predicable manner > > > and not do *anything* perlish at GC time. If nothing else it means > > > that we do

Re: Meta-design

2000-12-10 Thread mooring
On Thu, Dec 07, 2000 at 07:07:27PM +, Simon Cozens wrote: > On Thu, Dec 07, 2000 at 12:24:50PM +, David Mitchell wrote: > > In a Perl context, I find it hard to believe that reference counting takes > > up more than tiny fraction of total cycles. > > On a vaguely related note, here's the

Re: Perl6 on handhelds (was Re: Meta-design)

2000-12-09 Thread Bradley M. Kuhn
Dan Sugalski <[EMAIL PROTECTED]> wrote: > one of the big goals I have is to get everything specified enough that > someone can produce another version of perl from scratch. [..] > The final specs that define those bits of perl's internal behavior that are > user-visible (like the hooks in the

Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-09 Thread Bradley M. Kuhn
bkuhn wrote: > > Why should we center our entire design around C? Adam Turoff <[EMAIL PROTECTED]> wrote: > Because Perl is a write-once-run-anywhere platform, and C is the only > viable way of maintaining Perl support on all of the platforms currently > supported. > > Because most (all?) of

Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-09 Thread Bradley M. Kuhn
Jarkko Hietaniemi <[EMAIL PROTECTED]> wrote: > > Why should we center our entire design around C? Sure, the canonical perl6 > > Because that's what we got. Because that's what we have in the maximal > number of platforms. Because that's what works. The design doesn't have to center around

Re: Let's not be C-specific even if we use C (was Re: Meta-design)

2000-12-08 Thread Adam Turoff
On Thu, Dec 07, 2000 at 10:42:31PM -0500, Bradley M. Kuhn wrote: > What I seek is perl design documentation that allows someone to take the set > of PDD's and reimplement perl in another language. What will aid Perl reimplementations are the PDDs. C-Centrism in the PDDs is a moot point. > The

Re: Perl6 compatibility with non-C enviornments (was Re: Perl6 in Java? (was Re: Meta-design))

2000-12-08 Thread Hildo Biersma
"Bradley M. Kuhn" wrote: > > > On Wed, 6 Dec 2000, Bradley M. Kuhn wrote: > > > > > And, it will make the barrier for entry for new internals hacker lower. > > Sam Tregar <[EMAIL PROTECTED]> wrote: > > > Really? Do you honestly believe there are more Java programmers than C > > programmers? P

Re: Perl6 compatibility with non-C enviornments (was Re: Perl6 in Java? (was Re: Meta-design))

2000-12-08 Thread Simon Cozens
On Fri, Dec 08, 2000 at 01:17:01PM +, Nicholas Clark wrote: > We seem to be arguing about the best method for making it *im*possible > to use anything but the initially-chosen-implementation language to > implement perl. This feels like a bad thing. I don't see that; I see that we're all agre

Re: Perl6 compatibility with non-C enviornments (was Re: Perl6 in Java? (was Re: Meta-design))

2000-12-08 Thread Nicholas Clark
On Fri, Dec 08, 2000 at 10:36:48AM +, Simon Cozens wrote: > On Thu, Dec 07, 2000 at 10:11:11PM -0500, Bradley M. Kuhn wrote: > > I believe strongly that we need to make sure the design does not become so C > > specific so as to leave us where perl5 has left us: "No C compiler on your > > platf

Re: Let's not be C-specific even if we use C (was Re: Meta-design)

2000-12-08 Thread Simon Cozens
On Thu, Dec 07, 2000 at 10:42:31PM -0500, Bradley M. Kuhn wrote: > Since we are starting from scratch, why not make these things possible if it > isn't too hard? And, I don't think it is, if we are simply mindful to "not > be C specific" as we design. I think everyone's agreed this, many times o

Re: Perl6 compatibility with non-C enviornments (was Re: Perl6 in Java? (was Re: Meta-design))

2000-12-08 Thread Simon Cozens
On Thu, Dec 07, 2000 at 10:11:11PM -0500, Bradley M. Kuhn wrote: > I believe strongly that we need to make sure the design does not become so C > specific so as to leave us where perl5 has left us: "No C compiler on your > platform? Sorry!". Huh? There are platforms have Java VMs but not C compi

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

2000-12-07 Thread Dan Sugalski
At 06:01 PM 12/7/00 +, Piers Cawley wrote: >Dan Sugalski <[EMAIL PROTECTED]> writes: > > At 01:20 PM 12/7/00 +, David Mitchell wrote: > > >Dan Sugalski <[EMAIL PROTECTED]> wrote: > > > > > > > print $foo[0]; > > > > is > > > >foo->get_string[UTF_8](ARRAY, 0); > > > > while > > > >

Re: Perl6 on handhelds (was Re: Meta-design)

2000-12-07 Thread Dan Sugalski
At 10:46 PM 12/7/00 -0500, Bradley M. Kuhn wrote: >John Porter <[EMAIL PROTECTED]> wrote: > > > Almost. You're potentially taking away Perl6, which is vaporware. > > I wonder: In what order will the following exist on Handheld Device > > Foo: > > > > - C > > - C++ > > - Java > >

Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-07 Thread Adam Turoff
On Thu, Dec 07, 2000 at 10:23:55PM -0500, Bradley M. Kuhn wrote: > However, the JVM is a powerful environment for generalized bytecode and for > allowing bytecode of different languages to communicate. So's Microsoft vaporware ".NET platform". And the second version of that bytecoded runtime wi

Perl6 on handhelds (was Re: Meta-design)

2000-12-07 Thread Bradley M. Kuhn
John Porter <[EMAIL PROTECTED]> wrote: > Almost. You're potentially taking away Perl6, which is vaporware. > I wonder: In what order will the following exist on Handheld Device > Foo: > > - C > - C++ > - Java > - Perl6 I know of at least one hand-held on the market (Po

Let's not be C-specific even if we use C (was Re: Meta-design)

2000-12-07 Thread Bradley M. Kuhn
Simon Cozens <[EMAIL PROTECTED]> wrote: > It seems like everyone has their axes to grind on this one: Bradley thinks > the world must be built in Java, I don't believe that. There has been a misunderstanding, and I apologize if I didn't communicate that effectively. I don't really care *that*

Re: Supporting architectures without native C support (was Re: Meta-design)

2000-12-07 Thread Jarkko Hietaniemi
On Thu, Dec 07, 2000 at 10:23:55PM -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 r

Supporting architectures without native C support (was Re: Meta-design)

2000-12-07 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'. > On Wed, Dec 06, 2000

Perl6 compatibility with non-C enviornments (was Re: Perl6 in Java? (was Re: Meta-design))

2000-12-07 Thread Bradley M. Kuhn
> On Wed, 6 Dec 2000, Bradley M. Kuhn wrote: > > > And, it will make the barrier for entry for new internals hacker lower. Sam Tregar <[EMAIL PROTECTED]> wrote: > Really? Do you honestly believe there are more Java programmers than C > programmers? Particularily in the Perl development commu

Re: Call for apprentice: was Re: Meta-design

2000-12-07 Thread John van V
I would like to do this, but I think its a bigger job than you imagine, and... "I tend towards insanity from time to time. Good thing its only perl." (you can quote me) (It comes from stresses developing sysadm apps around the single largest depository of human wealth. They actually smoth

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

2000-12-07 Thread Dan Sugalski
At 07:02 PM 12/7/00 +, Simon Cozens wrote: >On Wed, Dec 06, 2000 at 03:11:33PM -0500, Dan Sugalski wrote: > > >I'm in favour of the exact opposite: an AV is "just" an SV-alike vtable > > >with array methods instead of scalar methods and a pointer to some > > >storage, (probably an array of SVs

Re: Meta-design

2000-12-07 Thread John Porter
Simon Cozens wrote: > > Great. When it comes down to it, what are you doing here? Excellent question. -- John Porter

Re: Meta-design

2000-12-07 Thread Simon Cozens
On Thu, Dec 07, 2000 at 03:40:37PM -0500, John Porter wrote: > When it comes right down to it, the likelihood that I personally > will contribute to the core is vanishingly small, regardless of > language. Great. When it comes down to it, what are you doing here? > I wonder: In what order will

Re: Meta-design

2000-12-07 Thread John Porter
Jarkko Hietaniemi wrote: > > You seem hell-bent to gain popularity and support, don't you. Do I? "Hell-bent"? When it comes right down to it, the likelihood that I personally will contribute to the core is vanishingly small, regardless of language. So, I guess you can defend your own choice o

Re: Meta-design

2000-12-07 Thread Simon Cozens
On Thu, Dec 07, 2000 at 07:42:26PM +, Nicholas Clark wrote: > What was Sapphire's implementation language? What were its lessons? See http://www.perl.com/pub/2000/09/sapphire.html -- Hildebrant's Principle: If you don't know where you are going, any road will get you there.

Re: Meta-design

2000-12-07 Thread Simon Cozens
On Thu, Dec 07, 2000 at 02:33:53PM -0500, John Porter wrote: > I'd say, screw 'em if they don't have a C++ compiler. No. -- "The best index to a person's character is a) how he treats people who can't do him any good and b) how he treats people who can't fight back." -- Abigail Van Buren

Re: Meta-design

2000-12-07 Thread Jarkko Hietaniemi
On Thu, Dec 07, 2000 at 02:33:53PM -0500, John Porter wrote: > Simon Cozens wrote: > > On Thu, Dec 07, 2000 at 11:22:35AM -0500, John Porter wrote: > > > [C++] > > > > > It's nearly as portable, > > > > Uhm. Is this actually true? > > I don't know. Sounds reasonable! :-) > > Aside from lam

Re: Meta-design

2000-12-07 Thread John Porter
Sam Tregar wrote: > > Which also brings up another point - choosing anything but C is likely to > have a direct impact on our existing userbase. I have a suggestion - if a > system compiled and ran Perl 5 then it should be able to compile and run > Perl 6. No upgrades required. The Backwards C

Re: Meta-design

2000-12-07 Thread Nicholas Clark
On Thu, Dec 07, 2000 at 02:33:53PM -0500, John Porter wrote: > Simon Cozens wrote: > > On Thu, Dec 07, 2000 at 11:22:35AM -0500, John Porter wrote: > > > [C++] > > > > > It's nearly as portable, > > > > Uhm. Is this actually true? > > I don't know. Sounds reasonable! :-) What did Chip lear

Re: Meta-design

2000-12-07 Thread Sam Tregar
On Thu, 7 Dec 2000, Simon Cozens wrote: > On Thu, Dec 07, 2000 at 11:22:35AM -0500, John Porter wrote: > > [C++] > > > It's nearly as portable, > > Uhm. Is this actually true? C runs pretty much anywhere. > > Are there any non-fragile implementations of C++ yet? Which also brings up another poin

Re: Meta-design

2000-12-07 Thread John Porter
Simon Cozens wrote: > On Thu, Dec 07, 2000 at 11:22:35AM -0500, John Porter wrote: > > [C++] > > > It's nearly as portable, > > Uhm. Is this actually true? I don't know. Sounds reasonable! :-) Aside from lame-o solutions like C-front and cross-compiling, I'd say, screw 'em if they don't ha

Re: Meta-design

2000-12-07 Thread Jarkko Hietaniemi
> often. What the *hell* is wrong with modulo? It does sort of stand out, doesn't it...floating point divide? -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen

Re: Meta-design

2000-12-07 Thread Simon Cozens
On Thu, Dec 07, 2000 at 12:24:50PM +, David Mitchell wrote: > In a Perl context, I find it hard to believe that reference counting takes > up more than tiny fraction of total cycles. On a vaguely related note, here's the flat profile from gprof run cumulatively on the test suite. (I haven't

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

2000-12-07 Thread Simon Cozens
On Wed, Dec 06, 2000 at 03:11:33PM -0500, Dan Sugalski wrote: > >I'm in favour of the exact opposite: an AV is "just" an SV-alike vtable > >with array methods instead of scalar methods and a pointer to some > >storage, (probably an array of SVs) and likewise an HV. That would allow > >(array->leng

Re: Meta-design

2000-12-07 Thread Simon Cozens
On Thu, Dec 07, 2000 at 11:22:35AM -0500, John Porter wrote: > [C++] > It's nearly as portable, Uhm. Is this actually true? C runs pretty much anywhere. Are there any non-fragile implementations of C++ yet? > nearly as fast, Why have nearly as fast, when you can have as fast? > and WAY WAY

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

2000-12-07 Thread Simon Cozens
On Thu, Dec 07, 2000 at 12:06:36PM +, Nicholas Clark wrote: > > I think that that would be a 'courageous' decision. > > Making decisions now that make it hard to use anything other than 1 compiler > are as wise as decisions that make it hard to use anything other than one > implementation lan

Re: Guaranteed object destruction (was Re: Meta-design)

2000-12-07 Thread Dan Sugalski
At 05:55 PM 12/7/00 +, Piers Cawley wrote: >Dan Sugalski <[EMAIL PROTECTED]> writes: > > I think I'd just as soon always call DESTROY in a predicable manner > > and not do *anything* perlish at GC time. If nothing else it means > > that we don't have to worry about having a valid perl context

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

2000-12-07 Thread Piers Cawley
Dan Sugalski <[EMAIL PROTECTED]> writes: > At 01:20 PM 12/7/00 +, David Mitchell wrote: > >Dan Sugalski <[EMAIL PROTECTED]> wrote: > > > > > print $foo[0]; > > > is > > >foo->get_string[UTF_8](ARRAY, 0); > > > while > > >print $foo > > > is > > >foo->get_string[UTF_8](SCALAR);

Re: Guaranteed object destruction (was Re: Meta-design)

2000-12-07 Thread Piers Cawley
Dan Sugalski <[EMAIL PROTECTED]> writes: > I think I'd just as soon always call DESTROY in a predicable manner > and not do *anything* perlish at GC time. If nothing else it means > that we don't have to worry about having a valid perl context handy > when the GC runs. (Since threading the thing i

Re: Guaranteed object destruction (was Re: Meta-design)

2000-12-07 Thread Nicholas Clark
On Thu, Dec 07, 2000 at 11:24:06AM -0500, Dan Sugalski wrote: > I think I'd just as soon always call DESTROY in a predicable manner and not > do *anything* perlish at GC time. If nothing else it means that we don't > have to worry about having a valid perl context handy when the GC runs. > (Sin

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

2000-12-07 Thread Dan Sugalski
At 01:20 PM 12/7/00 +, David Mitchell wrote: >Dan Sugalski <[EMAIL PROTECTED]> wrote: > > > print $foo[0]; > > is > >foo->get_string[UTF_8](ARRAY, 0); > > while > >print $foo > > is > >foo->get_string[UTF_8](SCALAR); > >Just to clarify: > >does the get_string method in an AV's

Re: Meta-design

2000-12-07 Thread Simon Cozens
On Wed, Dec 06, 2000 at 08:28:14PM -0500, Bradley M. Kuhn wrote: > Whether or not it is slow is not my concern. Speed isn't (necessarily) the problem, although I'd prefer it if Perl wasn't slow. *Size* is the problem. On-the-fly evaluation requires a compiler and its associated environment, and t

Guaranteed object destruction (was Re: Meta-design)

2000-12-07 Thread Dan Sugalski
At 11:17 AM 12/7/00 +, Piers Cawley wrote: >Buddha Buck <[EMAIL PROTECTED]> writes: > > It seems to me that there are three types of thingies[1] we are > > concerned about, conceptually: > > > > > > A) Thingies with no DESTROY considerations, which don't need refcounts. > > B) Thingies with DE

Re: Meta-design

2000-12-07 Thread John Porter
Nicholas Clark wrote: > > But fflush(NULL) is, and we still seem to run > into that one on one current platform Amazingly, there are still things in supposedly ANSI-conformant implementations that are done wrong. free(0) is supposed to be a safe no-op; but on certain compilers, we get a crash.

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

2000-12-07 Thread John Porter
Piers Cawley wrote: > > > And, it will make the barrier for entry for new internals hacker > > lower. > > Err. How do you get to that conclusion? The thing that really stops me > mucking about with perl's internals is the fiendish complexity of said > internals. Changing the programming language

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

2000-12-07 Thread David Mitchell
Dan Sugalski <[EMAIL PROTECTED]> wrote: > print $foo[0]; > is >foo->get_string[UTF_8](ARRAY, 0); > while >print $foo > is >foo->get_string[UTF_8](SCALAR); Just to clarify: does the get_string method in an AV's vtable do an indexing lookup, grab the relevant SV pointer, then call

RE: Meta-design

2000-12-07 Thread David Mitchell
(whoops, correcting my own post!): > sva->refcount=0; > sva->refcount++; // these first 2 combined if we get the implemention right > svb->refcount=0; > svb->refcount++; // ditto sva->refcount++; > ... > if (--sva->refcount == 0) ... // branch not taken > if (--svb->refcount == 0) ... // branch

Re: Meta-design

2000-12-07 Thread Nicholas Clark
On Thu, Dec 07, 2000 at 01:22:08PM +0100, Roland Giersig wrote: > How about a two-step requirement? > > 1) Native compiler must support ANSI-C. > > 2) If 1) doesn't hold, gcc can be required, which fulfills ANSI-C. strictly and really pedant point no it doesn't quite, as ANSI specifies the comp

RE: Meta-design

2000-12-07 Thread David Mitchell
> There's evidence in the > literature that switching from reference counting to a more sophisticated > GC scheme can also save us 5-10% in CPU overhead. (Though that's not a > guarantee--LISPlike languages likely have different GC performance > characteristics than perl does) [warning: vague

Re: Meta-design

2000-12-07 Thread Roland Giersig
Dan Sugalski wrote: > 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 m

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

2000-12-07 Thread Nicholas Clark
On Thu, Dec 07, 2000 at 10:54:09AM +, Piers Cawley wrote: > "Bradley M. Kuhn" <[EMAIL PROTECTED]> writes: > > Dan Sugalski <[EMAIL PROTECTED]> wrote: > > > 2) GCC produces slow code on all platforms where there's an > > >alternative. > > > > This is likely going to change with the releas

Re: Meta-design

2000-12-07 Thread Piers Cawley
Buddha Buck <[EMAIL PROTECTED]> writes: > 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 > > >

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

2000-12-07 Thread Piers Cawley
"Bradley M. Kuhn" <[EMAIL PROTECTED]> writes: > Dan Sugalski <[EMAIL PROTECTED]> wrote: > However, I don't think we should dismiss it out of hand because people don't > do a lot of systems programming C. some of the things we are going to build > for C (if that's what we pick), are already there

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 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 `re

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 Bradley M. Kuhn
> > Why does string C 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 runti

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) > > Un

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 ho

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

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

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 DE

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 DESTR

RE: Meta-design

2000-12-06 Thread Sam Tregar
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 consideration in terms of Perl. If we intend to hon

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

2000-12-06 Thread Dan Sugalski
At 12:48 PM 12/6/00 -0800, Nathan Wiger wrote: > > Good for you. This is internals design; perl6-language is over there ---> > > and the "ph33r mY |<" phase is supposed to be over now > > anyway. > >Cool! Thanks alot for the useful feedback. Comments like this are >certainly beneficial to the goal

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 contain

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 |<" phase is supposed to be over now > anyway. Cool! Thanks alot for the useful feedback. Co

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 th

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 variabl

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 p

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

2000-12-06 Thread Dan Sugalski
At 07:34 PM 12/6/00 +, Simon Cozens wrote: >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 a

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.

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: 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

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

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 appr

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

Re: Meta-design

2000-12-06 Thread Nicholas Clark
On Wed, Dec 06, 2000 at 01:15:07PM -0500, 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

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

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

Re: Meta-design

2000-12-06 Thread Dan Sugalski
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'. That's not necessarily the case. If we allow f

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 C 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 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 C have to screw everything up? It doesn't.

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 non-memor

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

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 mo

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 Nicholas Clark
On Wed, Dec 06, 2000 at 02:05:32AM +, Simon Cozens wrote: > 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. but perl5 is *still* encountering platforms that don't fully meet the 1989 ANSI spec for p

Re: Meta-design

2000-12-05 Thread Dan Sugalski
At 11:12 PM 12/5/00 -0500, Bradley M. Kuhn wrote: >Simon Cozens <[EMAIL PROTECTED]> wrote: > > Of the suggestions that have been advanced so far, four are worthy of > > more consideration: C, C++, Java and a specially-designed Perl > > Implementation Language. (PIL) > > > Java is portable and giv

Re: Meta-design

2000-12-05 Thread Nathan Torkington
Bradley M. Kuhn writes: > > Java is portable and gives us OO, but it's slow and ugly. > > I am probably the biggest proponent of the "use Java to implement Perl" > camp. Java is only somewhat portable. > One concern that I have about the data structure design thus far (and I > believe I wrote a

Re: Meta-design

2000-12-05 Thread Bradley M. Kuhn
Simon Cozens <[EMAIL PROTECTED]> wrote: > Patches welcome. Well, this isn't a patch, but if you really meant patches literally and not figuratively, I can provide one if you let me know. ;) > Of the suggestions that have been advanced so far, four are worthy of > more consideration: C, C++, J