The Perl 6 Summary for the week ending 20030309
    Ooh look, it's another of those Perl 6 Summaries where Piers tries to
    work a gratuitous reference to Leon Brocard into a summary of what's
    been happening to the Perl 6 development process this week.

    As tradition dictates, we'll start with all the action from
    perl6-internals.

  Object Specs
    With his great good taste and impeccable timing, Dan Sugalski managed to
    release his second draft of an Object spec at 22.27 GMT on Sunday March
    the second. Which meant that, strictly, the root message of this thread
    doesn't belong in this summary. To which I say 'Tosh!'

    Brent Dax wondered how this spec coped with classless OO languages like
    JavaScript and whether such languages would have to fake things with
    anonymous classes. It seems that faking it is going to the 'right' way.

    Erik Bagfors asked for a clear example of the difference between
    attributes and properties, and between class and object variables. Dan
    didn't actually offer an example, but explained that properties are
    'runtime assigned name values pairs that are stuck on a variable', while
    attributes 'correspond to instance variables or slots in other object
    systems'.

    Dave Whipp wondered about the semantics of creation and destruction of
    objects with a long list of questions. Dan replied that there was a
    'Class Spec' forthcoming at some point too. The Object spec concerns
    itself with 'just the behaviour of objects that already exist'.

    Some further discussion of this happened in perl6-language, but Dan
    dragged it back into perl6-internals. I shall follow his example by
    summarizing those subthreads here, whilst muttering rude words under my
    breath about people make a poor summarizer's life so hard.

    Garrett Goebel (not Göbel, as I mistakenly spelt it last week) wondered
    about serialization and persistence and wondered whether a 'pure Parrot'
    serialization scheme would be possible, allowing one to serialize Perl,
    Python, Ruby etc objects at the Parrot level. Dan pointed out that there
    were "freeze" and "thaw" vtable entries for PMCs, and said that he had
    some 'sketches of necessary core functionality to make it feasible'. It
    looks like simple 'data objects' will be simple to serialize at the
    parrot level.

    Sam Vilain suggested a whole bunch of extra things to be associated with
    Objects. Dan noted that all of Sam's suggestions were actually things
    that belonged with Classes rather than objects, with the exception of
    what Sam referred to as 'associations'. Garret asked for some
    clarification of what Sam was talking about, tying it to something Sam
    had said in perl6-language about 'exporting object relationships in a
    sensible and consistent manner', so Sam did a brain dump which outlined
    a scheme for persisting almost anything in a language neutral manner
    (requiring more or less complicity on the part of some languages) with
    loads of neat ideas in it. Dan liked the ideas, but isn't going to go
    the whole way (probably). Dan also implied that Parrot's
    serialize/deserialize methods would make use of the GC system to make
    sure that everything gets dumped properly, once and only once, solving
    the problem of cyclic references (YAY! An OO Persistence tool writer
    writes).

    Dan released the next iteration of his tentative object spec on Sunday
    (but a little earlier this time). He and Uri Guttman spent the rest of
    the day thrashing out some issues and clarifying some terminology. Dan
    is threatening a glossary with the next try at an object spec.

    (Dan just suggested on IRC that I summarize these threads as 'Dan
    muttered incoherently about objects again. Folks generally humored him.'
    Which I would never do of course; I'm English and I know how to spell
    'humour'.)

    <http://makeashorterlink.com/?L22455AA3> -- Object spec (try 2)

    <http://makeashorterlink.com/?M2A2623C3> -- Garrett's first question

    <http://makeashorterlink.com/?M2B2323C3> -- Sam Vilain's suggestions

    <http://makeashorterlink.com/?P2C2323C3> -- Garrett asks for clarity

    <http://makeashorterlink.com/?W2D2523C3> -- Sam's brain dump.

    <http://makeashorterlink.com/?S1E2213C3> -- Object Spec (try 3)

  IMCC and multiple source files
    K Stol wondered whether it was possible to write multi-file IMCC
    programs. Leopold Tötsch answered that, whilst there's no Parrot linker
    as yet, but by the time we read his post we could use the ".include"
    macro to glue source files together.

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

  Patch Roundup
    Jason Gloudon added some more ops to the sun4 JIT core. His patch was
    applied, along with most of Steve Peters' patches from last week. Jürgen
    Bömmels patched the print ops to use pure PIO (Parrot IO) rather than a
    scary stdio/PIO hybrid. Dan applied this one with alacrity (I don't
    think he likes stdio).

  Coroutines end and DFG
    Leo Tötsch wondered if coroutines ended and if they did, how? Leo noted
    that coroutines caused IMCC some big headaches with register allocation.
    Jonathan Sillito replied saying that coroutines were never ending and
    pointed out that each coroutine has its own user stack which means that
    "saveall" and "restoreall" do the right thing, which wasn't quite what
    gives IMCC headaches because you can't pass arguments in the stack and
    have to rely on lexicals or globals, which apparently means that IMCC
    will need some new hints to work out what's happening.

    Nobody explained what DFG stands for.

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

  SableVM
    Tupshin pointed everyone at SableVM 'an interesting Java VM done as a
    doctoral thesis'. Leo found some of the optimization techniques in the
    thesis interesting. Which scares me.

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

    <http://www.sablevm.org/> -- SableVM

    <http://makeashorterlink.com/?T223623C3> -- SableVM Thesis

  Parrot 0.0.10 freeze
    Steve Fink announced the feature freeze before release 0.0.10. Parrot is
    now frozen prior to the 0.0.10 release on March 15th.

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

Meanwhile, over in perl6-language
    The object discussion leaked over from perl6-internals, I'll cover the
    language relevant parts here. Dave Whipp had some interesting things to
    say about Associations in response to one of Sam Vilain's posts that I
    covered in perl6-internals and Andy Wardley offered a counter argument.
    There was a fair amount of discussion about the advisability of Multiple
    Inheritance (which can be summed up as "we don't have to like it but we
    probably have to do it".) Andy Wardley proposed stealing Ruby's Mixins
    and Simon Cozens came up with a nifty Perl6-o-meter which Larry pointed
    out was rather more general than Simon intended.

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

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

  Signal/slot like mechanism
    Yannick Le Saint wondered if there was a notification mechanism planned
    for Perl 6. Luke Palmer offered a simple implementation which wasn't
    quite what Yannick was after which looks like it might possibly need
    modifications to the 'Class' Class. Dan pointed noted that there would
    almost certainly be a mechanism for registering watcher subs with the
    internals ("Yay!" writes an insane summarizer with a penchant for
    digging around in Perl's runtime internals...).

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

Acknowledgements, Announcements and Apologies
    Another quiet week. However, as I write this Apocalypse 6 is available
    to read on perl.com and Dan is making noises on IRC about the next draft
    of the object spec being released some time before Sunday. I have the
    feeling that next week's summary will be covering a lot more traffic.

    Still haven't produced an American Odyssey web page. I've been too busy
    taking photographs and relearning how to use my large format camera.

    If you 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, job offers or an extension back for an
        Ebony 45S to [EMAIL PROTECTED]

    This week's summary was again sponsored by Darren Duncan. Thanks Darren.
    If you'd like to become a summary sponsor, drop me a line at
    [EMAIL PROTECTED]


-- 
Piers

Reply via email to