Re: RFCs (Re: Ideas that need RFCs?)

2000-08-23 Thread John Porter

David L. Nicol wrote:
> 
> RFC:  It's all exception handling.  I imagine the core syntax description
> as a set of catch clauses.  Every token generates a "TOKEN-$whatever"
> exception, which is caught according to the current situation.  How's
> that for a general paradigm?  These things can be overloaded as needed to
> implement Macros, variant syntaces, variant semantics, and so on.

"All flow control will implemented as longjumps."

-- 
John Porter




Re: RFCs (Re: Ideas that need RFCs?)

2000-08-21 Thread David L. Nicol

"Bryan C. Warnock" wrote:
> 
> On Fri, 18 Aug 2000, David L. Nicol wrote:
> > There will Be No Perl7
> 
> Of course not.  Odd numbers are the development releases.  The next
> Perl after 6 will be 8.


So maybe the reference implementation should be written in perl 4. Did
perl 4 have references?  Doing all codrefs in terms of eval'ing strings
would be a PITA.

 
> Seriously, while a worthwhile goal, this is rather short-sighted.
> The industry and the world will continue to change in spite (or
> because!) of our efforts here.  We can make it easier for the users to
> adapt, but Perl will need to continue to evolve, as well.


So we write in full access to internals, and capable macro and
redefining languages,  making perl6 a framework you can build anything
into even easier than perl5 is a framework you can build anything in to.

Perl5 was the experimentation period for threading and OO syntaces, now
we've played with them for a while, we can write in programmatic access
to on-the-fly parser modification and then the language becomes customary.

Further releases of the standard would be modifications to the parser rules
or the clarification engine, rather than rewrites.


Language = Framework + Parser-rules + Clarification-engine


Parser-rules can be rewritten with certain reserved macros, allowing

use intercal2000;

to cause the remainder of the program to be interpreted as intercal, for
instance, 



And if the Clarification-engine is aware of everything that is not
explicitly hidden from it, or if it can be pulled out and completely
replaced, that not only makes translating into different languages
a real breeze, it allows subroutines to be genuinely on the same footing
as builtins, instead of just seeming that way.






-- 
  David Nicol 816.235.1187 [EMAIL PROTECTED]
  Does despair.com sell a discordian calendar?



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-19 Thread skud

On Fri, Aug 18, 2000 at 05:22:17PM -0500, David L. Nicol wrote:
>RFC:  Perl6 is Final.  There will Be No Perl7
>RFC:  Everything is Accessible and Mutable
>RFC:  The perl6 reference implementation, no matter how slow it is,
>will be written in perl5, in some kind of well defined virtual machine.
>RFC:  It's all exception handling.  
>RFC: Implemnentation:  Unified containers are trees of storage nodes,
>and we do our own memory management with them
>RFC:  Garbage collection:  We keep reference counting, with a big
>node pool, occasionally defragment it if we can, to free the top of it.

Almost all of these are internals fodder, not language topics.  David,
could you re-post this list to -internals and take discussion over
there, please?

K.

-- 
Kirrily Robert -- <[EMAIL PROTECTED]> -- http://netizen.com.au/
Open Source development, consulting and solutions
Level 10, 500 Collins St, Melbourne VIC 3000
Phone: +61 3 9614 0949  Fax: +61 3 9614 0948  Mobile: +61 410 664 994



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Nathan Wiger

Nathan Torkington wrote:
> 
> David L. Nicol writes:
> > RFC:  Perl6 is Final.  There will Be No Perl7
> >
> >   We declare that our framework willbe so flexiblke
> > that anything can be done with it and there will be no penalty
> > for something being in-core opposed to out-of-core and so on.
> 
> Bad idea.  You can't make anything infinitely customizable without
> making it an infinitely slow bitch.  Genericity costs.  I say we make
> the best perl6 we can, and let the inevitable perl7 take care of
> itself.

I think David's point is that C and several other languages have
standardized on a syntax and common development/library model. It's not
perfect, but it's stable. 

>From this standpoint, I think it's a very worthwhile goal. Every Perl
release can't require a massive relearning and rewriting of the
language. Perl 6 is sort of our "last chance" to change major interface
stuff. Adding new features is a different issue.

Obviously subsequent releases will continue to evolve. But I do think
this is the last one where we can literally "take the gloves off" and
redo everything. Otherwise, Perl will get a really bad reputation for
being unstable, and it will deserve it. Perl 5 is already very stable
externally, so any big user-visible changes will have to be obviously
worthwhile in Perl 6. Most users won't tolerate Perl 7, 8, 9, and 10
continuing to break all their past scripts except minorly (I know I
won't).

This is definitely one aspect of "making things easy" that's a very
important one. Especially as the number of Perl programs continues to
explode exponentially.

-Nate



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Nathan Torkington

Nathan Wiger writes:
> Anyone RFC'ing this yet?

I could RFC it in vague terms, but I'm waiting to see how things
like interfaces turn out. 

> Which reminds, anyone gonna RFC the rumored death of typeglobs? :-)

I figured that as Larry had used it as an example of things that were
up for grabs in perl6, he was already assumed to be thinking of it.
Then again, if the RFC actually thought through the current uses of
typeglobs and could show how to preserve that functionality, it
would be useful.

It's always the edge cases that need thinking through.  Any idiot (hi,
that's me!) can RFC the obvious ("write lvalue subs so that they're
passed the rvalue") but it's the edge cases ("and what about mutators
and other non-assignment lvalues, fool?") that require the thought
and are what make a great RFC (Damian's) not a crappy one (mine).

Nat



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Nathan Wiger

Nathan Torkington wrote:
> 
> Exporter is pure Perl, but
> I'd love to see its functionality moved into the core (or, indeed,
> replaced by a general compile-time interface setup with separate
> runtime execution semantics) for speed reasons.

Anyone RFC'ing this yet?

This time I'm *not* volunteering, but just pointing out one that could
be missed.

Seems like this has lots of dependencies on what happens with
lexical/dynamic variables, symbol tables and typeglobs.

Which reminds, anyone gonna RFC the rumored death of typeglobs? :-)

-Nate



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Steve Fink

Jeremy Howard wrote:
> 
> > Steve Fink writes:
> > > And both those examples apply to the underpinnings. Ok, maybe I have an
> > > unusually broad definition of the word "underpinnings". Think "anything
> > > that can't be done with a pure perl module".
> >
> Say "anything that can't be done *fast*enough* with a pure perl module" and
> you're closer.

Right. What he said.

Or maybe add "cleanly enough" too. And "easily enough". Or maybe just
"anything that wouldn't be better done as a pure perl module." After
all, we're shooting for better than "easy things possible, hard things
barely possible."



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Jeremy Howard

> Steve Fink writes:
> > And both those examples apply to the underpinnings. Ok, maybe I have an
> > unusually broad definition of the word "underpinnings". Think "anything
> > that can't be done with a pure perl module".
>
Say "anything that can't be done *fast*enough* with a pure perl module" and
you're closer.

For instance, many issues discussed on perl6-language-data are already
doable with a pure Perl module, but not efficiently enough for data
crunching. The trick here is to find the minimal core language and
implementation changes required to support pure Perl versions of the
majority of the language needs.





Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Bryan C . Warnock

On Fri, 18 Aug 2000, David L. Nicol wrote:
> There will Be No Perl7

Of course not.  Odd numbers are the development releases.  The next
Perl after 6 will be 8.  

Seriously, while a worthwhile goal, this is rather short-sighted.
The industry and the world will continue to change in spite (or
because!) of our efforts here.  We can make it easier for the users to
adapt, but Perl will need to continue to evolve, as well.

(As spoken by a one-eyebrow, knuckle-dragging Neanderthal)

 -- 
Bryan C. Warnock
([EMAIL PROTECTED])



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Nathan Torkington

Steve Fink writes:
> And both those examples apply to the underpinnings. Ok, maybe I have an
> unusually broad definition of the word "underpinnings". Think "anything
> that can't be done with a pure perl module".

I'm not wild about that metric, either.  Exporter is pure Perl, but
I'd love to see its functionality moved into the core (or, indeed,
replaced by a general compile-time interface setup with separate
runtime execution semantics) for speed reasons.

> My message was *encouraging* RFCs

And once again we're in violent agreement :-)  Sorry for any confusion,

Nat



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Nathan Torkington

David L. Nicol writes:
> RFC:  Perl6 is Final.  There will Be No Perl7
> 
>   We declare that our framework willbe so flexiblke 
> that anything can be done with it and there will be no penalty
> for something being in-core opposed to out-of-core and so on.

Bad idea.  You can't make anything infinitely customizable without
making it an infinitely slow bitch.  Genericity costs.  I say we make
the best perl6 we can, and let the inevitable perl7 take care of
itself.

Of course we don't want to be too locked in, but neither do we want to
be too flexible (IMHO).  This is, of course, inherent in the word
"too".

> RFC:  The perl6 reference implementation, no matter how slow it is,
> will be written in perl5, in some kind of well defined virtual machine.
> It should be possible do Data::Dumper out a emulated perl6 instance
> and load it into another and there you are, except the file handles
> are all confused (unless you've got a way-fancy OS that can cope with
> such things)

Aye aye aye.  I'd like to see proposed language features prototyped or
emulated in perl5.  But I'm unconvinced that implementing perl6 first
in perl5 is going to win us much more than a big delay.  You're going
to find correct threading and signals hard to emulate on a system with
broken threading and signals, though.

> RFC:  It's all exception handling.  I imagine the core syntax description
> as a set of catch clauses.  Every token generates a "TOKEN-$whatever"
> exception, which is caught according to the current situation.  How's
> that for a general paradigm?  These things can be overloaded as needed to
> implement Macros, variant syntaces, variant semantics, and so on.

My first reaction is "wouldn't that be slow?"

Nat



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread David L. Nicol







Here's my RFC todo list which I am dropping like a good mensch
on the occasion of Friday Evening.


RFC:  Perl6 is Final.  There will Be No Perl7

We declare that our framework willbe so flexiblke 
that anything can be done with it and there will be no penalty
for something being in-core opposed to out-of-core and so on.


RFC:  Everything is Accessible and Mutable

From tokenizing up.  See below for how to pull this off.
At least, the core core core of what's left is just a smidgen larger
than FORTH.  Like, FORTH plus data structures plus exceptions plus
garbage collection.

RFC:  The perl6 reference implementation, no matter how slow it is,
will be written in perl5, in some kind of well defined virtual machine.
It should be possible do Data::Dumper out a emulated perl6 instance
and load it into another and there you are, except the file handles
are all confused (unless you've got a way-fancy OS that can cope with
such things)


RFC:  It's all exception handling.  I imagine the core syntax description
as a set of catch clauses.  Every token generates a "TOKEN-$whatever"
exception, which is caught according to the current situation.  How's
that for a general paradigm?  These things can be overloaded as needed to
implement Macros, variant syntaces, variant semantics, and so on.


RFC: Implemnentation:  Unified containers are trees of storage nodes,
and we do our own memory management with them


RFC:  Garbage collection:  We keep reference counting, with a big
node pool, occasionally defragment it if we can, to free the top of it.




Have a nice weekend.


Nathan Torkington wrote:
> 
> Steve Fink writes:
> > We are NOT here to construct a radically better language. We are here to
> > design the underpinnings of one.
> 
> Perhaps.  And by "perhaps", I mean "no".
> 
> We're here to say what we'd like to see in the next version of Perl.
> These can be big things (currying) or small (hashes returned by
> functions instead of long lists).  We're giving input to Larry, who
> will then design the language.  We are just telling Larry what we
> would like, and why (i.e., which itch it would scratch).
> 
> > If you have an idea that will "add value" to Perl6 but can just as
> > well be done after the groundwork for the language has been laid
> > out, then please do not write up an RFC on it. It'll just distract.
> 
> I completely disagree.  If you want something in Perl, now's the time
> to ask.  We're going to have to nail down the language so people can
> begin writing grammars, data structures, regex engines, and so on.
> There's no such thing as a small change if that change comes *after*
> people have begun coding.  That's called "feature creep", as I'm sure
> you know.
> 
> So I want to encourage people to submit RFCs.  Yes, there are a lot of
> them.  That's Larry's problem, not ours.  It's one problem he's glad
> to have, I'm sure.
> 
> Nat

-- 
  David Nicol 816.235.1187 [EMAIL PROTECTED]
  Does despair.com sell a discordian calendar?



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Steve Fink

Nathan Torkington wrote:
> 
> Steve Fink writes:
> > We are NOT here to construct a radically better language. We are here to
> > design the underpinnings of one.
> 
> Perhaps.  And by "perhaps", I mean "no".
> 
> We're here to say what we'd like to see in the next version of Perl.
> These can be big things (currying) or small (hashes returned by
> functions instead of long lists).  We're giving input to Larry, who
> will then design the language.  We are just telling Larry what we
> would like, and why (i.e., which itch it would scratch).

And both those examples apply to the underpinnings. Ok, maybe I have an
unusually broad definition of the word "underpinnings". Think "anything
that can't be done with a pure perl module".

> > If you have an idea that will "add value" to Perl6 but can just as
> > well be done after the groundwork for the language has been laid
> > out, then please do not write up an RFC on it. It'll just distract.
> 
> I completely disagree.  If you want something in Perl, now's the time
> to ask.  We're going to have to nail down the language so people can
> begin writing grammars, data structures, regex engines, and so on.
> There's no such thing as a small change if that change comes *after*
> people have begun coding.  That's called "feature creep", as I'm sure
> you know.

Which is why I wrote the rest of that paragraph, saying that people
should write RFCs for anything that requires, or might require, changes
in the Perl6 language. My message was *encouraging* RFCs; I was
disagreeing with a message discouraging them. You happened to quote the
two sentences where I was agreeing that not all RFCs need to be brought
up just now, if the change they propose would still be possible after
the Perl6 core was set in stone (namely, you could just write a module
to do that using "existing" primitives at no significant loss in
performance or clarity. Which usually implies that you could do it today
in Perl5, but nobody's bothered to.)

> So I want to encourage people to submit RFCs.  Yes, there are a lot of
> them.  That's Larry's problem, not ours.  It's one problem he's glad
> to have, I'm sure.

I agree. At least, to the extent possible without having Larry's brain
sitting in front of me in a jar, and I'm pretty sure this one is
somebody else's.



Re: RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Larry Wall

Nathan Torkington writes:
: Steve Fink writes:
: > We are NOT here to construct a radically better language. We are here to
: > design the underpinnings of one.
: 
: Perhaps.  And by "perhaps", I mean "no".
: 
: We're here to say what we'd like to see in the next version of Perl.
: These can be big things (currying) or small (hashes returned by
: functions instead of long lists).  We're giving input to Larry, who
: will then design the language.  We are just telling Larry what we
: would like, and why (i.e., which itch it would scratch).

And my current role is to turn everybody's view upside-down by pointing
out that currying is a small thing if you have the right hooks between
the lexer and the parser, while returning hashes instead of long lists
is a big thing if it implies the unification of object and hash
notations.  How exactly do you "slice" an object, currently?

: > If you have an idea that will "add value" to Perl6 but can just as
: > well be done after the groundwork for the language has been laid :
> out, then please do not write up an RFC on it. It'll just distract.
:  : I completely disagree.  If you want something in Perl, now's the
time : to ask.  We're going to have to nail down the language so people
can : begin writing grammars, data structures, regex engines, and so
on.  : There's no such thing as a small change if that change comes
*after* : people have begun coding.  That's called "feature creep", as
I'm sure : you know.

I don't mind "small" RFCs.  I expect some number of them will be end up
being classified as:  "Should be implemented in terms of X later."  But
that doesn't mean they don't encode real desires.

: So I want to encourage people to submit RFCs.  Yes, there are a lot of
: them.  That's Larry's problem, not ours.  It's one problem he's glad
: to have, I'm sure.

Number 5 is alive!  Not disassemble!  Need more input!

Larry



RFCs (Re: Ideas that need RFCs?)

2000-08-18 Thread Nathan Torkington

Steve Fink writes:
> We are NOT here to construct a radically better language. We are here to
> design the underpinnings of one.

Perhaps.  And by "perhaps", I mean "no".

We're here to say what we'd like to see in the next version of Perl.
These can be big things (currying) or small (hashes returned by
functions instead of long lists).  We're giving input to Larry, who
will then design the language.  We are just telling Larry what we
would like, and why (i.e., which itch it would scratch).

> If you have an idea that will "add value" to Perl6 but can just as
> well be done after the groundwork for the language has been laid
> out, then please do not write up an RFC on it. It'll just distract.

I completely disagree.  If you want something in Perl, now's the time
to ask.  We're going to have to nail down the language so people can
begin writing grammars, data structures, regex engines, and so on.
There's no such thing as a small change if that change comes *after*
people have begun coding.  That's called "feature creep", as I'm sure
you know.

So I want to encourage people to submit RFCs.  Yes, there are a lot of
them.  That's Larry's problem, not ours.  It's one problem he's glad
to have, I'm sure.

Nat