This Week on Perl 6, Week Ending 2004-09-24
The Perl 6 Summary for the week ending 2004-09-24
This is my last summary before I start my teaching practice. Hopefully I’ve 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 wanted to make 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.
Meanwhile, in perl6-internals
Problems Reimplementing Parrot Forth
Matt Diephouse fell afoul 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.
__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…
Incremental collector and finalization
Jeff Clites had some questions about how finalizers interact with the work that Leo’s done while 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 understand why old school GC types really don’t like finalizers…]
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.
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.
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.
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.
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.
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.
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.
Towards a new call scheme
Leo posted an overview of the work he was doing on Parrot’s internals to put a faster calling scheme in place (as discussed endlessly). The usual perl6-internals discussion and revision process swung into action.
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…
Bits of introspection
Leo announced that he’d started work on adding more introspection features to Parrot, accessible through the interpinfo
op. This looks very cool.
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.
Meanwhile, in perl6-language
In Brief
Discussion of various synopses continued.
Larry can be very persuasive when he’s right.
Michele Dondi is a chap. (See last week’s question.)
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.
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).
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.
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.
Or, you can check out my website.
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub