develooper Front page | perl.perl6.language | Postings from May 2004

This week's summary

The Perl 6 Summarizer
May 26, 2004 08:07
This week's summary
Message ID:
The Perl 6 Summary for the fortnight ending 2004-05-23
    Yes. I know. This week's summary is a week late. So it's a summary of
    the last two weeks. So let's get straight to perl6-internals shall we?

  Working on the Perl 6 Compiler
    Abhijit A. Mahabal posted his first ever patch, which updated the
    calling conventions used in the Perl 6 Compiler. Dan applied it
    promptly, and Allison Randal chimed in with some comments on the
    workings of the perl 6 compiler. There's a new document, which you'll
    find at languages/perl6/doc/developer_notes.pod in a CVS parrot, which
    is a scratchpad for developers to make notes of any issues that arise
    while they're working on the compiler.

  Pants performing ponies
    The issues that cropped up in the last summary to do with poor ponie
    performance continued to exercise Leo Tötsch, Nicholas Clark and Jeff
    Clites as they homed in on the Ponie bug that had led to ludicrous
    numbers of PMCs being generated to no good end. It turns out that
    Parrot's garbage collection doesn't go that fast when there's 9 million
    live PMCs. Leo worked to improve things...

  MMD side effects
    Leo pointed out some strangeness related to the new multiply dispatched
    opcodes and proposed a solution. Warnock applies.

  The Parrot Question Repository
    Dan announced that he was trying (slowly) to get things documented and
    questions asked. Because questions to the list tend to get Warnocked or
    asked repeatedly, he's set up a new central question repository on the
    Parrot Wiki. He appealed for a volunteer to watch the list and add new
    questions to the Wiki page and (a possibly different volunteer) to watch
    the Wiki and post any answers back to the list. If such a volunteer
    should step up to the plate, I would be inordinately grateful if they
    could make a habit of commenting to any questions they transplant to the
    Wiki to let people know that this has been done. -- Central Questions Point

  IO Opinions
    Dan asked for opinions on how the IO system was going to work when it
    came to dealing with record based files. Tim Bunce and Jeff Clites had
    suggestions and questions.

  The "Right Way Repository"
    Dan announced that he'd started an FAQ aimed at compiler writers
    targetting parrot in docs/compiler_faq.pod in your local CVS parrot.
    It's a bit sparse, but the proverb about mighty oaks and acorns applies.
    We hope. Brent Royal-Gordon was first in with a question and answer.

  Towards a multiply dispatched parrot
    Leo continued his work on switching over to a multi dispatched vtable
    architecture and asked for comments on the work so far, and the sanity
    of the whole concept. Dan was very positive, and the work continues.

    Cygwin continues to be a fully paid up member of the awkward squad of
    environments. Joshua Gatcomb pointed out that JIT had broken again. He
    and Leo engaged in debugging by email as Leo worked to fix things.

  Perl 6 Parser weirdness
    Abhijit A. Mahabal had some problems with the Perl 6 compiler's parser
    and asked for help. It looks like it's an issue with the load path using
    relative paths, which makes it fragile when you're running in an
    unexpected directory.

    The discussion evolved into one on the nature of the (eventual) Perl 6
    parser. Dan worried that a recursive descent parser will be awfully slow
    compared to the current perl 5 parser. It looks like Perl 6 *won't* have
    a recursive descent parser, but the conversation got rather beyond my
    level of computer science (at least where parsers are concerned). Larry
    said that he was in favour of a hybrid parser which used both top down
    and bottom up parsing techniques.

    Dan suggested that since Larry has been "itching to get into the
    internals anyway, [the parser]'d be a good place to start."

  Event design sketch
    Discussion of Dan's event design sketch continued. Gordon Henriksen was
    worried that the events system as sketched wouldn't work well with GUI
    type events. Rocco Caputo pointed out issues with Daylight Saving for
    timed events. Leo asked for a glossary.

    And those are just the items that caught my eye as I went into speed
    skim mode.

  PARROT_API, compiler and linker flags
    Ron Blaschke has been working on getting Parrot's linker magic right;
    and he presented his findings and warned us that he intended to go ahead
    and implement something based on them unless there were substantive
    objections. There weren't any objections as such, but there were an
    awful lot of issues raised (in case you didn't already know, cross
    platform compatibility is Hard).

  Events and names
    In response to the discussion of his initial sketch, Dan said that he
    thought that 'event' might be the wrong word for what he was working.
    'Event' fits the bill in some places, but not in others. He asked for
    suggestions in case someone had a better name. Tim Bunce suggested
    'hap', which met with some approval. James Mastros suggested 'page'.
    Andy Wardley reckoned 'Parcel' might fit the bill. I don't think any of
    the suggestions got massive approval.

  New version of parrotbug
    Jerome Quelin announced a new version of parrotbug for reporting bugs in

  MMD and objects
    Announcing that the basics of MMD are almost done, Dan moved to address
    issues with objects and inherited methods. He outlined what needed to be
    done and some of the choices that need to be made.

  Bits and Pieces
    Dan announced a few decisions that he'd made about various stuff.

  Non-flow-control logical tests
    It turns out that Dan's work project would be a lot easier if Parrot had
    logical test ops that simply returned 0 or 1 rather than jumping off
    somewhere. He wondered if there was a real case for actually
    implementing such things. The general response was favourable so he
    checked in a new set of "isgt", "iseq", etc ops in experimental.ops.

  Embedding Parrot / mod_parrot
    Paul Querna is looking at writing mod_parrot for apache 2.0. He had some
    questions about how to go about embedding parrot.

Meanwhile, in perl6-language
  C style conditional statements
    Pedro Larroy wondered if there was any chance that, in perl 6 it would
    be possible to write conditional statements that looked like C type "if"

        if (condition) 

    The thread drew quite a lot of traffic, but the answer is that it's not
    going to happen because it's incompatible with the new Perl 6 way of not
    requiring parentheses around the condition. For some reason, the thread
    evolved into the "Perl 6 shouldn't be called Perl!" thread. But set
    against that, it did elicit the following from Larry:

        Indentation is a wonderful form of commentary from programmer to
        programmer, but its symbology is largely wasted on the computer.  We
        don't tell poets how to format their poetry.

    Which certainly made me smile.

  Yadda yadda yadda some more
    Aaron Sherman is a big fan of "...". Lots of folks seemed to like it
    too, and the thread became something of a love in. Let's hear it for
    yadda yadda yadda.

  RFC "eq" and "=="
    It was Pedro Larroy's turn to ask if it'd be a good idea to make "=="
    and friends polymorphic in order to get rid of "eq" etc. It was
    Chromatic's turn to say that no, it's not a good idea, and haven't we
    done this one countless times before? It was your summarizer's turn to
    have had a foul couple of days before he finally knuckled down to
    writing the summary.

  Idiom for filling a counting hash
    Stéphane Payrard wondered Perl 6 might have a neater way of populating a
    counting hash than

        $a{$_}++ for @a;

    He proposed some alternatives which (to my biased eyes at least) looked
    rather more opaque than the straightforward Perl 5 idiom. John Williams
    suggested that "%a{@a}»++" might fit the bill, but it seems that
    "++«%a{@a}" is more likely to be the right thing.

    I think this may be one of those Shibboleth things. If you like Perl 6,
    then "++«%a{@a}" is the kind of thing that could well make you like it
    more. If you don't like Perl 6, it's the kind of thing that makes you
    double the length of the pole with which you will not touch the

  Simon Cozens has RSI
    Simon Cozens' auto responder informed us all that he's suffering from
    RSI. I'm sure I'm not alone in wishing him a speedy recovery (or at
    least, that he finds some way of alleviating his problem).

Announcements, Apologies, Acknowledgements
    Many apologies for the staggering lateness of this week's summary (at
    least a week late). Hopefully I'll be back on track next week.

    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 me feedback at -- The Perl Foundation -- Perl 6 Development site Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About