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/