This week on Perl 6 (9/1 - 9/8, 2002)
by Piers CawleySeptember 08, 2002
Well, what a week it's been, eh, people? Larry's been telling the Slashdot crowd about quantum God and big knobs, there's been a call for Perl 6 programmers on Perlmonks (http://makeashorterlink.com/), and the Octarine parrot took flight.
So, let's start with perl6-internals, as is traditional.
The Octarine Parrot flies!
Jeff Goff (who deserves to suffer for his parody of Eight Days a Week) announced Parrot 0.0.8, available from the usual places. This release includes:
- Working Perl 6 rules/patterns
- Multidimensional keyed access
- JIT for ARM processors
- Lexical scope operators
- Many bugfixes and smaller subsystems
Mere moments after announcing the new baby, Jeff realised he'd made a mistake with the tarball's MANIFEST, and announced the release of Parrot 0.0.8.1, which has all the same features as 0.0.8, but a MANIFEST error has been excised. MANIFEST seems to be a source of problems, as Tanton Gibbs also had problems with it later in the week.
http://makeashorterlink.com/ -- Announcement
http://www.cpan.org/src/parrot-0.0.8.1.tgz -- Tarball
Goal call for 0.0.9
Soon after the 0.0.8 announcement Dan asked us what we wanted to see in 0.0.9 and offered his list. The list became rather long as Sean O'Rourke, Steve Fink and Nicholas Clark all chipped in suggestions. The 'long' list ended up as:
- Exceptions
- Initial PMC freeze/thaw API
- Sub indicators in bytecode
- On-the-fly bytecode section generation
- Methods (in PASM and C)
- Implementation of some methods for the Perl classes
- Stashes
- Resolve the prompt finalization problem
- PMC name, implementation
cleanup(*)
- Filename, line number tracking
- Careful elimination of compiler warnings
- Rationalization of bytecode generation
(*) The PMC issue was brought up by Steve. He pointed out that right now we have a situation where theoretically language independent PMCs often refer to, and create, Perl specific PMCs on the fly, which seems slightly wrong.
http://makeashorterlink.com/ -- Steve's list
Approximate string matching in regexes
Sean O'Rourke discoursed on edit distances and approximate matching,
and offered a patch implementing an rx_amatch opcode.
More regex stack manipulations
Sean also implemented a couple of opcodes for manipulating the regex
engine's stack: rx_stackdepth Ix and rx_stackchop Ix. Dan
thought that the semantics of rx_stackchop were slightly off, and
that the instructions were actually intstack specific and should
therefore be called intstackdepth and <intstackchop>
respectively. Dan is also 'really, really close to tossing the last
pretense of being a stack-based system and [moving] all the way to
routine-based frames instead, which would definitely make some things
easier.' (Whatever that means). Sean and Steve Fink both seemed to
think that that may be a step too far, at least for something as
backtrack heavy as the regex core. Steve thought he would rather not
create a few thousand Exception or Continuation objects and also
made noises about encapsulating intstack.c's functionality in an
appropriately named PMC.
Later in the week, Steve delivered his patch to provide an integer array PMC, but wondered if it shouldn't be called an integer dequeue (a double ended queue). John Porter voted for dequeue. Leopold Toetsch wondered why the patch needed a pair of new ops, and questioned the entire premise of the patch, so Steve mounted a sterling defence of his patch.
core.ops ARGDIR
Leopold Toetsch kicked off a discussion of 'the intended meaning of ARGDIR_IN/OUT'. I'm afraid to say that while I understand the individual words in his message, I don't really understand the post as a whole. Which is my own fault, and makes life rather hard for a summarizer. However, Nicholas Clark and Angel Faus seemed to understand him, and discussion ensued.
http://makeashorterlink.com/ -- Thread starts here.
Parrot: maximizing the audience
Jerome Quelin put the cat among the pigeons when he made a few observations about the perlcentricity of Parrot, and wondered what the benefits of making Parrot more explicitly vendor neutral. Jerome wondered 'what could we do in order to open parrot to non-Perl centric people?'
Markus Lair suggested renaming perl6-internals to 'something better like "parrot internals". Sean O'Rourke wondered what effect this would have, apart from breaking his procmail setup. Dan thinks we'll probably shift to a more neutral list name eventually. John Porter claimed that 'some folks seem to think that sufficient reason [to change] exists now.', and Dan pointed out that John didn't have to convince 'some folks', he had to convince Dan. John then attempted to invoke Larry.
John Porter reckoned that changing the list name would have "a huge psychological effect, at least outside our tight little club. But if that's only as far as you can see..."; Dan responded with admirable restraint.
Steve Fink is surprised at how little Parrot is tied to Perl 6, and noted that Perl 6 'mostly provides evidence that this isn't just an exercise in intellectual masturbation', and came down in favour of renaming the mailing list.
Ask Bjoern Hansen popped his head up to say that it would soon be relatively easy to change the list name to, say, 'dev@parrotcode.org'.
Andrew Kuchling, one of the python-dev crew, popped in to talk about parrot-gen.py, and why it's not being heavily developed. (From his point of view, the mailing list name is an irrelevancy BTW). Andrew made some good points about the fun and benefits of Parrot from the point of view of a Pythoneer (it isn't much fun, mostly because of the culture shock and that there don't appear to be any real benefits apart from the possibly chimerical cross-language stuff), and worried about the amount of optimization that was going on before we'd got any real languages implemented. Andrew also suggested making Scheme one of the driving languages for Parrot, based on its simple syntax and fully specified semantics.
As a result of all this, Dan posted his list of 'Parrot long-term goals/prospects', a 9 point list, with footnotes about where he sees things going. I'm not going to summarize it because it's already its own summary. Read it. There was some discussion about what the eventual 'pure parrot' build environment will look like, including some optimistic copyright lines...
http://makeashorterlink.com/ -- A Pythoneer speaks
http://makeashorterlink.com/ -- Dan's list

