The Perl 6 Summary of the week ending 20031019
    Lumme! Another week, another summary.

    Every week (almost) we start with the perl6-internals list, so here
    goes.

  An Evil task for the interested
    Our Glorious Leader, Dan Sugalski, last week asked for volunteers to
    work on making ordered destruction work. (Ordered destruction is where
    the system tries to ensure that 'parent' objects get destroyed before
    any of their children). Jeff Clites announced that he'd got a partial
    implementation working.

    Neither Leo Tötsch nor Jürgen Bömmels were sure that the approach Jeff
    was taking would be the Right Thing in the long run, proposing instead a
    more general iterator mechanism.

    http://xrl.us/x8k

  Perl 6 Sub calling
    Bringing the perl6 compiler (in languages/ back to live, Steve Fink has
    committed a 'rather large' patch which implements a subset of the
    Apocalypse 6 subroutine signature rules. The implementation is
    apparently very ad hoc and shouldn't be regarded as the final word. But
    it looks like a very good start to me.

    http://xrl.us/x8l

  Website timeliness
    Responding to Matt Fowles' observation that the parrot website is rather
    behind the times, Robert Spier let slip that there would soon be a
    revised website that will be easy for everyone to send patches to, and
    which would be much easier to have multiple maintainers of different
    areas of the site.

    Of course, there are still a few 'technical chunks' that need to get
    finished before it's ready to unveil, but it's good to know that work
    continues in this area. Thanks Robert.

    http://xrl.us/x8m

    http://xrl.us/x8n -- Mike Scott's Parrot Wiki

  Dynamic oplibs
    Chances are, you've never really needed a "fortytwo" operator, or even a
    "what_do_you_get_if_you_multiply_six_by_nine" operator, and you
    certainly don't need them cluttering up the parrot core. Which is why
    Leo Tötsch has implemented those ops as a dynamically loadable ops
    library.

    Admittedly, you're highly unlikely to load this particular ops library,
    but the underpinning tools for dynamic loading of ops libraries are new
    and potentially very useful.

    Rather later in the week, once he'd got dynamic loading of ops working
    in all the runtime cores, Leo posted an 'intermediate summary' which
    explains how things work.

    http://xrl.us/x8o

    http://xrl.us/x8p

  Oplips, pmclibs, function libs
    Dan has been thinking about the problems that can arise with dynamic
    loading. One issue is that, if you have separate files for each PMC
    class, opcode library and parrot function library, things get unwieldy
    very quickly, and if you're not careful you'll exhaust the OS file
    descriptor pool. Which would be bad. So, he asked for a sanity check
    before going on to work out a scheme for bundling libraries into larger
    files. Leo agreed that Dan was talking sense, so I expect we'll be
    seeing some design in this area soon.

    http://xrl.us/x8q

  Instantiating objects
    It's been a busy week on the parrot front for Dan. On Wednesday he
    outlined his thinking on instantiating objects, with the aim of getting
    single inheritance objects up and running. This sparked a good deal of
    discussion, but nothing was actually agreed.

    http://xrl.us/x8r

  Redoing IMCC macros
    Surprisingly, Jürgen Bömmels opened up a can of worms when he redid
    IMCC's macro support to use a hash lookup instead of a linear search
    through an array. This sparked a good deal of discussion about the right
    scoping, which hash implementation to use, and whether IMCC should be
    closely entwined with the interpreter.

    http://xrl.us/x8s

  Fixed opcode numbering infrastructure
    Dan checked in a patch to fix opcode numbers for the core ops,
    deliberately breaking the JIT in the process. Leo wasn't happy. After a
    bit of back and forth, we now have fixed opcodes, but the implementation
    isn't quite what Dan originally did.

    There was also some discussion of how many opcodes really needed to be
    fixed; after all, in the presence of dynamically loaded oplibs, you
    can't nail every opcode down. Leo worried that dynamically loaded oplibs
    don't play well with JIT, and making it work would probably need a total
    rewrite of the JIT core, but Jürgen didn't think it was all that bad.

    http://xrl.us/x8t

  Applying the Pumpking Patch
        $ patch RESPONSIBLE_PARTIES 
        6c6
        < Release pumpking              Steve Fink
        ---
        > Release pumpking              Leopold Toetsch

    In other words, Steve Fink has stepped down from the rôle of Parrot
    Pumpking and handed the his mantle on to Leo "Pumpking Patchmonster"
    Tötsch. I'm sure I'm not alone in wishing to thank Steve for his
    sterling work as our release manager. Nor, I'm sure, am I alone in
    wondering where Leo finds the time.

    http://xrl.us/x8u

  Bounds checking in extension API
    Simon Glover wanted to know what sort of bounds checking was/will be
    done by the extension API's register access functions. At the time of
    his writing they didn't do any, which meant you could trivially cause a
    buffer overflow in your extension by accessing an illegal register
    number, like 42. Dan said that what needed to happen is for the access
    functions to do bounds checking and to throw an exception on an illegal
    register number. Which wasn't quite as straightforward as he thought.

    http://xrl.us/x8v

Meanwhile, in perl6-language-subs
    What's that you say? You've never heard of perl6-language-subs? Shame on
    you. Actually, I'd forgotten about perl6-language-subs but, judging by
    the messages I've seen on the list since I started writing the
    summaries, it would appear that it's a mailing list where students can
    ask the Perl 6 community to do their computer science homework for them.
    I don't expect to be covering this list any further.

Meanwhile, in perl6-language
  The Wall Returns
    Larry returned from what sounds like a horrible couple of months in
    hospital and answered Luke Palmer's awkward question about block returns
    from a couple of weeks ago.

    http://xrl.us/x8w

Acknowledgements, Announcements, Apologies
    Tuesday is no longer the new Monday. Wednesday is the new new Monday.

    If you found this summary valuable, you might like to consider one or
    more of:

    *   Get involved. Parrot (and Perl 6) needs programmers, authors, users
        and other interested parties. Join the mailing lists and start to
        contribute. (Check http://dev.perl.org/perl6/ and
        http://www.parrotcode.org/ as good starting points).

    *   Support Larry, Dan, Damian and company by donating to the Perl
        Foundation at http://donate.perl-foundation.org/. I hate to think
        what the Wall family medical bills must be like at the moment.

    *   Give me lots of lovely feedback at [EMAIL PROTECTED], you
        know you want to.

Reply via email to