The Perl 6 Summary for the week ending 2004-09-24
So, this is my last summary before I start my teaching practice.
Hopefully I've got things set up so writing the summary isn't going to
interfere with that, and vice versa.
This week in perl6-compiler
State of Rules
Discussion of the state of the Perl 6 compiler (with particular
reference to the rules engine) continued. People were concerned with
making sure that the rules engine that Luke and Patrick are working on
would be flexible enough to cope with different languages in 'closures'.
Synopsis 5 updated
Ed Peschko asked that there be some way of 'turning the rules engine
inside out' to make something which, given a rule, would generate
strings that could match against it. Actually, this is the second time
Ed asked for this, as Luke reminded him. Luke went on to implement a
generator in hypothetical perl 6, which seemed to please everyone but
Ed.
Rod Adams wins the 'making the summarizer smile wryly' occasional prize.
http://xrl.us/c8ax
Meanwhile, in perl6-internals
Problems Reimplementing Parrot Forth
Matt Diephouse fell foul of problems with the "compile" and "compreg"
opcodes in his efforts to reimplement Parrot Forth in PIR. Steve Fink
made some suggestions for workarounds based on his work on writing a
regular expression compiler.
From further discussion, it seems that, if you're implementing a stack
based language, you'd do well to manage the language's stack yourself
rather than using Parrot's User stack which is interestingly scoped.
http://xrl.us/c8ay
"__init" not being magically called
Will Coleda had some problems with a class's "__init" function not being
called magically. Nobody else could reproduce the problem. After a
certain amount of confusion, Will did "make realclean; perl
Configure.pl; make; make test" and all was well again.
If you're experiencing a weird problem, it's probably best to do the
rebuild before posting to the list. Or you could fix the build system to
have more accurate dependencies...
http://xrl.us/c8az
Incremental collector and finalization
Jeff Clites had some questions about how finalizers interact with the
work that Leo's been doing on implementing an incremental garbage
collector for Parrot. Leo had some thoughts, but noted that there's
still a problem with ordered finalization and destruction.
[Your summarizer is really starting to get a feel for why old school GC
types really don't like finalizers...]
http://xrl.us/c8a2
Python bytecode volunteers
Dan asked for volunteers to finish the task of getting python bytecode
working on Parrot; he reckoned that the work was mostly done, but that
neither he nor Leo have the time to go the last couple of yards.
Come on people, this would definitely be a cool thing to have.
http://xrl.us/c8a3
mod_parrot 0.0
Jeff Horwitz announced the release of version 0.0 of his mod_parrot
Apache module. It's remarkably powerful for version 0.0
http://xrl.us/c8a4
The "compile" op and building compilers
Dan had some thoughts on tidying up the spec for the "compreg" and
"compile" operators and asked for comments before he nailed the spec
down. Steve Fink and Leo had comments.
http://xrl.us/c8a5
Misc. remarks about YAPC::EU
Leo popped up to thank everyone who'd donated to The Perl Foundation and
thus supported the purchase of shiny new Apple Powerbook G4 that he'd
used to run his presentation at YAPC Europe in Belfast.
He went on to outline some of the things he'd done and heard in Belfast,
including the fact that one French teacher is using Parrot for teaching
assembly language.
http://xrl.us/c8a6
Parrot m4 0.0.8
Bernhard Schmalhofer announced version 0.0.8 of Parrot m4. There's no
new functionality 'just' some structural improvement and tidying.
http://xrl.us/c8a7
Parrot TCL
Will Coleda posted a progress report on his Parrot TCL implementation
which is progressing gradually towards being a full blown TCL
implementation; he's working towards using special Tcl* PMCs with real
TCL semantics instead of the current scheme which uses Perl PMCs.
http://xrl.us/c8a8
Namespaces, Part 1
Dan posted the first part of his Namespaces spec. There was, of course,
much discussion. Inevitably, there was another revision, and further
discussion.
http://xrl.us/c8a9
http://xrl.us/c8ba -- The revised version
Towards a new call scheme
Leo posted an overview of the work he was doing on Parrot's internals to
get a faster calling scheme in place (as discussed endlessly). The usual
perl6-internals discussion and revision process swung into action.
http://xrl.us/c8bb
Hello everybody
Remember the French teacher that Leo mentioned? Well, the man himself,
Christian Aperghis-Tramoni popped up on the list and pointed everyone at
his work so far, and asked for help in finding more information.
If anyone would like to translate Christian's work from French to
English...
http://xrl.us/c8bc
Bits of introspection
Leo announced that he'd started work on adding more introspection
features to Parrot, accessible through the "interpinfo" op. All of which
looks very cool.
http://xrl.us/c8bd
Why lexical pads
Klaas-Jan wondered why Parrot had support for lexical pads, as he
thought that PIR's ".local" syntax was good enough...
Several people explained (essentially, lexical pads are "really" handy,
bordering on the essential, when you're implementing a language with
closures).
http://xrl.us/c8be
Meanwhile, in perl6-language
Discussion of various synopses continued.
Larry can be very persuasive when he's right.
Michele Dondi is a chap.
Trying to run a thread across multiple mailing lists is the sort of
thing that annoys a summarizer.
You have to write something before it goes in the core.
Patrick hopes to have a first cut at the Perl 6 rules engine available
within a couple of weeks.
Pipeline Performance
Luke showed off Perl 6's little known "gather {...; take ... }"
construct in some example code. People were impressed.
http://xrl.us/c8bf
Unary dot and custom control
Luke Palmer wondered about topicalization and scope in:
method foo () {
preserve {
.bar;
}
}
In particular, he hoped that the topic that ".bar" sees is the topic
that's lexically current.
Larry set his mind to rest. (Well, he set my mind to rest).
http://xrl.us/c8bg
attributes/methods on sigils
Michele Dondi wondered if sigils could be "(sort of special) operators
... thus allowing attributes/methods or even adverbs". Larry's response
was superbly deadpan.
http://xrl.us/c8bh
The usual footer
Hmm... maybe I should trying doing the perl6-language summary like that
every week; it's certainly quicker to write like that. Let me know what
you think.
If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send feedback or contributions to a
'getting Piers to OSCON 2005' fund to mailto:[EMAIL PROTECTED]
http://donate.perl-foundation.org/ -- The Perl Foundation
http://dev.perl.org/perl6/ -- Perl 6 Development site
Or, you can check out my website.
http://www.bofh.org.uk/