On Feb 7, 2006, at 5:33 PM, Allison Randal wrote:
Parrot, on the other hand, has noticeably gained momentum the past
6 months or so. AFAICT, this is largely due to the fact that we're
close enough to finished that we can see the light at the end of
the tunnel, and because Pugs reminded us to hold on to our sense of
fun.
First off, I'm just a lurker on the lists and I don't spend tuits
hacking Perl6, Parrot, or pugs. Also, I'm definitely behind on the
SOTA as far as P6 goes so, hopefully, nothing that I say below is
outright wrong. If it is, apologies.
I know that, over the last year or so, I've been feeling fairly
exhausted with Perl6--as all large projects do, it takes a long time
and, while it's going on, it's hard to see the progress that is being
made. I follow the lists, but I haven't done any Parrot or pugs
hacking, so I didn't really have a practical sense of where things
stood. It seemed like a never ending treadmill, and I've been
reading the lists in a more and more casual way as tuits and energy
flag.
Well, after this exchange I decided to check out the state of things,
and I was very pleasantly surprised. IIRC, $Larry said that he would
define the language in terms of the chapters from the Camel book,
with the Synopses being the definitive version of the AES triad for a
particular chapter. So, here are the Synopses that are written and
in the repository at https://svn.perl.org/perl6/doc/trunk/design/syn/
# S01.pod
# S02.pod
# S03.pod
# S04.pod
# S05.pod
# S06.pod
# S07.pod Not actually here because formats have been removed, but
I'm including it in the "complete" section.
# S09.pod
# S10.pod
# S11.pod
# S12.pod
# S13.pod
# S17.pod Not complete, just lists topics to cover
# S29.pod Not complete, just a pointer to
So, if @Larry precisely followed the Camel, here's what's left
(sorted by my opinion of its likelihood of being written):
Synopsis
Topic
Will it be written? (Just IMO)
------------ -------
-------------------------------------
S14.pod Tied variables ?
S25.pod Portable
Perl Maybe--probably
just a tweak of P5 version
S19.pod The
CLI
Probably not
S20.pod The Debugger
Probably not
S22.pod
CPAN
Probably not
S26.pod
POD
Probably not
S24.pod Common Practices No
S27.pod Perl
Culture No
S08.pod
References Yes
S15.pod
Unicode Yes
S16.pod
IPC
Yes
S18.pod
Compiling Yes
S21.pod Internals and Externals Yes
S23.pod
Security Yes
S28.pod Reference; Special Names Yes
S30.pod Reference; The Standard Perl Library Yes
S31.pod Reference; Pragmatic Modules Yes
S32.pod Reference; Standard Modules Yes
S33.pod Reference; Diagnostic Messages Yes
My reasoning:
- S14: I'm not clear on whether tied variables have gone the way of
formats.
- S25: "Portable Perl", it's unclear how much the elements addressed
therein would change from Perl5 to Perl6, so it might not be
necessary to rewrite this beyond a few tweaks to the P5 version (like
deleting the section on XS).
- The ones labelled "Probably not" are (arguably) not properly part
of the language but part of the toolkit around it. As such, they
don't really need to be included in the language spec. YMMV.
- S24: There can't really be any "Common Practices" until some time
after 6.0.0 is released, so that's a No.
- S25: Perl Culture is definitely not part of the language design.
- S08: More and more elements are being given first-class status and
auto-referencing behaviors. Once something is first-class and can
smartly manage its own (de)referencing, there is no real need for
user-level operators to do it. However, we still need defined
semantics for how it all works under the hood, so we need a Synopsis.
- S15, S16, S18, S21, S23: I thought these were a pretty clear call
for "gotta have a spec".
- S28, S30-33: The Reference Synopses are "simply" compilations of
information that is designed elsewhere so producing them is more a
matter of good writing than of actual language design. This is good
because, difficult as it is, good writing is much easier than good
language design.
So, to bring it down to brass tacks: there are 5 big chunks (S15,
S16, S18, S21, S23) that remain to be be written, a 6th (S08) that
needs to be written but will probably be fairly short, and 5 (S28,
S30-33) that need to be compiled out of the mass of emails flying
through the lists. I know that substantial progress has been in
defining the semantics of all of these topics, and I have the
impression that it's mostly a question of wrapping up the last 5-20%
of each one, compiling all the data, and writing the Synopsis.
I'd say that qualifies as light at the end of the tunnel indeed!
--Dks