Perl 6 summary for week beginning 2002-09-30
    This is yet another Perl 6 summary, documenting what has happened over
    on the perl6-internals (where Parrot, the virtual machine that will run
    Perl 6 is discussed) and perl6-language (where Perl 6 language design is
    discussed) mailing lists. Piers is off on holiday (snowboarding and
    parachuting, no doubt), so I will be your host for the next two weeks. A
    particularly average week, so let's start off with the perl6-internals
    list as usual.

  Getting started guide
    Erik Lechak offered to help write a getting started guide to Parrot - he
    thought (correctly) that there may be "a pressing need for a document
    helping newbie developers figure out how to get started".

    Unfortunately, Erik isn't a big fan of POD and attempted to code up a
    better replacement. While POD may not be perfect, an awful lot of Parrot
    developers are also Perl developers and POD is simple and good enough
    for Parrot for now.

    <http://makeashorterlink.com/?U22B21502>

  Debugger debugged
    Juergen Boemmels noticed that hitting the Enter key in the Parrot
    debugger (pdb) caused a segfault and that this wasn't quite ideal
    behaviour. He provided a patch which ignored empty lines, and after a
    nudge from Aldo Calpini provided another patch which followed the
    suggested behaviour in "docs/debugger.pod", instead repeating the last
    command entered.

    <http://makeashorterlink.com/?O13B26502>

  Patch Master
    The main patcher these recent weeks has been Leopold Toetsch, and he
    kept it up this week as well. He provided patches to stop Parrot
    permanently allocating increasing amounts of memory, fix a parser error
    in imcc, add stats to life.p6 and more. In fact, so many patches that I
    have a feeling he'll get CVS write access soon ;-)

  New allocator
    Leopold had a play with plugging in the Doug Lea memory allocator,
    providing a patch to configure in support for the current Parrot malloc,
    the Doug Lea malloc, or ptmalloc in libc. He also attempted to plug in
    Perl 5's malloc and found similar speed results. Later on, he created a
    document to explain memory internals, continuing the recent trend for
    more docs.

    <http://makeashorterlink.com/?D23E216F1>

    <http://makeashorterlink.com/?H64B46502>

    <http://makeashorterlink.com/?D25B21502>

  Patches, patches everywhere
    There have been a lot of pending patches recently, and Robert Spier
    prodded us about them and hopes to have an automated weekly email nudge
    too.

    <http://www.parrotcode.org/openpatches>

  Library name collisions
    Steve Fink reported a problem with library name collisions. For example,
    having "intlist.c" as well as "classes/intlist.c" and "key.c" as well as
    "classes/key.c". Dan proposed a naming convention where classes start
    with a CL_prefix, encodings with an EN_ prefix and character set stuff
    with a CS_prefix, although it looks like a simpler solution may be
    taken.

    <http://makeashorterlink.com/?U26B51502>

  core.ops ate my (miniscule) RAM
    David Chan is using an itty bitty box (Cyrix with 32 MB of RAM) and
    found that compiling Parrot failed due to lack of memory. Nicholas Clark
    reminded us that you can disable the (faster, but needs more memory to
    compile) computed goto core at configure time using "./Configure.pl
    --cgoto=0".

    <http://makeashorterlink.com/?Y27B32502>

  Parrot file list
    There are a great number of source files in the Parrot distribution and
    Mark Sparshatt gathered ideas for how to have a file list which
    explained what each actually does.

    <http://makeashorterlink.com/?Q18B21502>

  Interfaces
    Over in perl6-language, Michael Schwern was asked at a recent Java
    conference whether Perl 6 will support interfaces. He tried to describe
    a likely interface and raised some problems with interfaces. This
    spawned a huge thread about OO, interfaces, and some of the weirder OO
    languages. Do we enforce strict interfaces? Are some methods allowed to
    be optional?

    One of the more interesting ideas would be to move from just using
    prototypes to using Design-By-Contract features: pre- and
    post-conditions and invariants. Dave Whipp seemed a big fan of the
    Eiffel model, where it is possible to rename methods in a derived class.
    There was lots of scary Perl 6 pseudocode including cars, MP3 players,
    birds, and wings.

    A little later, Schwern came back and worried about enforcing interfaces
    on subclasses. One interesting approach is to follow Eiffel and only
    allow subclasses to weaken the preconditions or strengthen the
    postconditions of the parent. Weakening involves adding ORs,
    strengthening ANDs. (More Foo and Bar pseudocode. Oh, and apparently
    Schwern only has 2 toes).

    There was a short sidetrack on having multiple versions of modules
    running at the same time, and Allison Randal informed us that it looks
    like the full name of classes will include their version number, ie
    "Acme::N-1.1".

    In fact, a lot of the discussion is a bit in the air: as Dan Sugalski
    pointed out, things like object attributes aren't until Apocalypse 12
    and it may be a little early to worry about such things.

    <http://makeashorterlink.com/?Q19B21502>

    <http://makeashorterlink.com/?H5AB54502>

  Subject-Oriented Programming
    Schwern also asked about subject-oriented programming, which looked
    interesting but which he couldn't quite understand. Andy Wardley
    explained that all these "advanced" programming techniques are all
    attempting a clear separation of concerns, and went on to describe and
    give pointers to more info.

    <http://makeashorterlink.com/?K1BB21502>

  Matching
    Someone mysteriously known only as "Ed" asked what the favoured syntax
    would be to match negative multi-byte strings in Perl 6. It wasn't
    entirely clear what the question was, but one thing is sure: the Perl 6
    pattern matching engine will have a lot of scope for optimisation.

    <http://makeashorterlink.com/?S5CB11502>

  In brief
    Tim Bunce asked if there were any good tools for static code analysis
    around. None, apparently.

    Brent Dax reminded Andy Dougherty and others about
    "/Parrot_v?sn?printf(_[sc])?/" in "misc.c" - a reimplementation of the
    printf functions for portability reasons.

    Simon Glover added tests for the assign opcode.

    It looks like Michael Lazzaro will be writing a list of issues with OO
    as well as a tutorial so that everyone is clear what exactly we are
    talking about.

    Larry cringes every time someone says "Parens construct lists in Perl
    6".

  Who's Who in Perl6
    Once more we get to meet people involved in the development of Perl 6.

    Who are you?
        Simon Cozens

    What do you do for/with Perl 6?
        I was the Parrot pumpking up until 0.0.4, and wrote much of the PMC
        and string infrastructure. I then escaped to get a life, play more
        Go and be a nicer person.

        As perl.com editor and occasional author, I pop in from time to time
        just to check on the correctness of things I'm writing about and
        make sure Parrot compiles on at least one platform I possess so I
        can test code for articles. Rumours of my return to development have
        been greatly exaggerated. :)

    Where are you coming from?
        I'm not, I'm already here!

    When do you think Perl 6 will be released?
        I don't think Perl 6 - as we understand it - ever will be released.
        How's that for a Delphic pronouncement?

    Why are you doing this?
        Because I like food.

    You have 5 words. Describe yourself.
        Less vehemently obnoxious than before.

    Do you have anything to declare?
        Watch out for some surprises in the near future.

  Acknowledgements
    This summary was brought to you with much distraction indeed from Super
    Mario Sunshine. Thanks to Kate Pugh and #london.pm for proofreading.

    As Piers says: One more, if you think this summary has value send money
    to the Perl Foundation <http://donate.perl-foundation.org> and feed back
    and/or T?iBooks to me, <mailto:[EMAIL PROTECTED]>. As usual, the fee
    paid for publication of this summary on perl.com has been donated
    directly to the Perl Foundation.

Enjoy, Leon
-- 
Leon Brocard.............................http://www.astray.com/
scribot.................................http://www.scribot.com/

.... Bioengineers wear designer genes

Reply via email to