Perl 6 Summary for the week ending 20030727
    Welcome to another in the ongoing series of Perl 6 summaries in which
    your faintly frazzled summarizer attempts to find a native speaker of
    Esperanto to translate this opening paragraph in honour of the huge
    amount of money (1371 Euros) raised for TPF during the YAPC::Europe
    auction, when the official language of both London.pm and Paris.pm's
    websites were auctioned off as one lot. Somewhat to the surprise of
    everyone, the winning bid was for Esperanto. As Jouke Visser just
    commented on IRC, the price was well worth paying just to see the looks
    of panic on the faces of Mark Fowler, Leon Brocard and other London.pm
    worthies as the price of keeping the website English (and changing
    Paris.pm's website to English in the process) shot up beyond the reach
    of their collective pocket.

    Meanwhile, we'll return to English and start with the internals list as
    usual.

  Events
    Junior reporter: "Mr Macmillan, what caused your greatest difficulties
    in your time as UK Prime Minister?"

    Macmillan: "Events dear boy, events."

    Whilst I'm not sure Dan would fully agree with Macmillan, there was a
    certain amount of concern about Events (well, event handling). Damien
    Neil is still convinced that asynchronous IO is the Wrong Thing, but he
    hasn't convinced Dan, and (in this at least) it's Dan's opinion that
    counts.

    http://xrl.us/nj3

    http://xrl.us/nj4 -- Dan ditches the cranky reply

  Memory system issues
    Jürgen Bömmels' work on the aforementioned Asynchronous IO system means
    that he's been getting rather more involved with the internals of
    Parrot's memory allocation and Garbage Collection system than he
    intended. He had a few questions, which Dan answered.

    http://xrl.us/nj5

  Splitting core.ops
    Brent Dax announced that the patch splitting core.ops into a slightly
    more logical set of smaller files has been committed. This occasioned a
    small flurry of discussion and a smaller flurry of patches to ensure
    that all the new .ops files had their associated documentation files
    built.

    http://xrl.us/nj6

  Parrot docs translated to Japanese
    Koichi Sasada, a Japanese university student has translated the Parrot
    Primer into Japanese and put it on his website. He wanted to know if he
    could publicise the translation. This summary is (at least in part) his
    answer.

    http://xrl.us/nj7

    http://xrl.us/nj8 -- In English

    http://xrl.us/nj9 -- In Japanese

  PMC methods
    Luke Palmer can't stop thinking of other ideas as he works on
    implementing lazy PMCs. His latest idea relates to accessing methods on
    PMCs without having to generate scads of new opcodes (Personally, I
    don't see what's wrong with using the object stuff for getting both PMC
    vtable (C) methods and methods that are implemented in Parrot itself.)
    Luke proposed a few ops which he reckons will solve the problem.

    http://xrl.us/nka

  objects.t Failures
    Simon Glover tracked down a problem with the objects.t test file that
    had been failing on some, but not all platforms. It turns out that the
    class_hash wasn't included as part of the root set, which meant that the
    garbage collector could try to reclaim it before it got used. Which is
    bad. He supplied a two line patch to fix the problem. Which is good.

    Dan made with the "D'oh!", commenting that he'd known he'd forgotten
    something.

    http://xrl.us/nkb

  RFC: Cleaning up the ParrotIOLayer API
    Jürgen Böemmels has reached a point in his redoing of the Parrot IO
    subsystem that he wanted to remove and/or rename several of the old
    methods so he posted an RFC explaining what he intended to do and asked
    for comments. Gregor N. Purdy had some comments, mostly to do with the
    data structures involved (with particular reference to strings) but
    other than that there has been no further comment.

    http://xrl.us/nkc

  Parrot Emits an Executable
    Daniel Grunblatt checked in a patch to make parrot generate native
    executables. There are caveats about what must be done in order to get a
    working executable and the original patch needed to have a few wrinkles
    ironed out, but this looks like a fantastic start to me.

    http://xrl.us/nkd

  Approaching Python
    Michael Wallace wondered about the issue of compiling python to parrot.
    He wondered if it would be possible to make use of the existing Python
    compiler module which generates python bytecode from a parse tree. He
    wondered if it'd be worthwhile modifying it to generate parrot bytecode.
    The discussion which followed covered various options for handling
    Python code, ranging from bytecode transformation to translating the
    source code into Perl 6 (which is probably the least likely to save Dan
    from pie).

    I'm not sure if a particular approach was chosen, but Michael seems keen
    to try a spike based on his initial suggestion.

    http://xrl.us/nke

  Doc Patches
    Jonathan Worthington sent in a patch to intro.pod and wondered if that
    would count as a 'real' patch. The answer being "Yes, of course they do.
    Patch applied."

    http://xrl.us/nkf

Meanwhile in Perl 6 Language
    Things were again relatively quiet on the language list...

  Preprocessors and Patterns
    David Whipp explained what he meant when he talked about overriding the
    "<ws>" pattern as a way of doing preprocessing. His insight being that a
    C Preprocessor style directive is generally legal anywhere that
    whitespace is legal, so by implementing a grammar along the lines of:

        grammar Perl6::WithCPPStyleDirectives {
            rule ws { <CPPDirective> | <SUPER::ws> }
            rule CPPDirective { ... }
            ...
        }

    one could avoid having to add a whole bunch of "<CPPDirective>"
    subclauses to the various rules in the grammar.

    Austin Hastings popped up to say that he thought that this was just
    another aspect of the issue of being able to run grammars/patterns
    against arbitrary objects, and proposed the idea of chaining grammars (a
    la SAX pipelines I think). Dave came up with a possible syntax:

        $fh ~~ / < <Grammar.Lang.C.Preprocessor ==> <Grammar.Lang.C> > /;

    For the life of me I couldn't tell you whether I think that looks like a
    brilliant or a disgusting idea.

    http://xrl.us/nkg

  Protocols
    Discussion of the idea of borrowing Objective-C's Protocols for Perl 6
    continued with a discussion of what that means precisely, and why Java's
    interfaces are a sub optimal way of doing the Right Thing. In general,
    people seemed to be in violent agreement.

    http://xrl.us/nkh

Acknowledgements, Announcements and Apologies
    Okay, okay, PONIE really stands for 'Perl On New Internal Engine'. I
    think. Or maybe it doesn't. Maybe PONIE can stand for itself.

    Many, many thanks to my kind hosts in Paris, Sebastien Huart and
    Paul-Christophe Varoutas (and to Paul-Christophe's sister whose
    apartment I borrowed for a couple of nights). Thanks also to Earle
    Martin and Sam Vilain for Eurostar tickets, even if a communication
    breakdown caused chaos on Sunday. No thanks at all to whoever pocketed
    my iPod rather than handing it in to lost property.

    Paris is a fabulous city and YAPC::Europe was both great fun and
    enlightening. Quote of the week came at the Parrot BOF:

    Dan: I'm really bad at reading my mails Leo: You should at least read
    *my* mails Everyone: Hear! Hear! (or words to that effect)

    After which we went on to draw a bunch of boxes and arrows along the way
    to fixing up the GC system.

    Thanks are also due to my stepdaughter who's been looking after the
    kittens for the past six weeks. Well, I say kittens, but now they're
    back they are *huge*, gorgeous, and easily driven to distraction by my
    shiny new laser pointer.

    Thanks too to all of you who popped by at http://xrl.us/mt4, I promise
    more new content this week.

    As ever, if you've appreciated this summary, please consider one or more
    of the following options:

    *   Send money to the Perl Foundation at
        http://donate.perl-foundation.org/ and help support the ongoing
        development of Perl.

    *   Get involved in the Perl 6 process. The mailing lists are open to
        all. http://dev.perl.org/perl6/ and http://www.parrotcode.org/
        are good starting points with links to the appropriate mailing
        lists.

    *   Send feedback, flames, money, requests for consultancy, photographic
        and writing commissions, or anything really cool that isn't Nigerian
        spam to [EMAIL PROTECTED]

Reply via email to