The Perl 6 Summary for the week ending 20021124
And some rough beast, its hour come 'round at last slouches toward...
And then the scansion goes to pot and I can't make a joke fit. Shame.
Anyhoo, it's time for another episode of the continuing saga of Perl 6
development. When I say 'saga' I don't mean a long, long poem of
alliterative lines, but a bright, breezy and brisk tale of the bods in
the lists. Well, one week mayb, when we've been quiet...
We start, as usual with the internals list.
C#/Parrot Status
Rhys Weatherley, who has been absent from the internals list lo these
many days popped up again to ask about:
* Object/class support
* Fixed-size integers and/or conversion opcodes
* Embedding of binary extension sections
He noted that "Not Done Yet" was an acceptable answer. Which is good,
because, as Leopold Tötsch pointed out, none of them were done yet. Leo
also reckoned that a start would be to implement fixed size integers and
conversion ops, and asked for details of what was wanted. Iacob Alin
wondered if the various types would be PMCs (answer: Only those types
which don't easily map to native types.) Florian Weimer wondered about
trapping integer arithmetic. Dan says these will be handled using
Parrots standard exception handling mechanism (which doesn't actually
exist yet, but signs in the wind suggest we might be getting a Halt and
Catch Fire op to raise an exception).
http://makeashorterlink.com/?P3F621592
Parrot 0.0.9 status
According to Steve Fink: "The basic status is that lots of people, many
of them coincidentally named Leopold Tötsch, have been fixing zillions
of things and implementing a number of new features. Nearly everything
needed for 0.0.9 has happened, and a lot else besides."
See his post for details of what's still to be done.
One of the most important items was that the tinderbox (a fleet of
machines that constantly make, test and remake the latest parrot builds)
was a beautiful shade of orange and red, which led to discussion of what
was going on (since most people's home boxen seem to be making and
testing okay...) Various remedies and patches were tried, but I believe
the tinderbox is still mostly the wrong colour.
http://makeashorterlink.com/?I50722592
http://makeashorterlink.com/?W21751592
Unified core.jit
Leopold Tötsch posted an RFC in which he proposed writing a universal
core.jit which provides the basic JIT framework and which delegates the
generation of native ops to processor specific implementations. Daniel
Grunblatt liked the basic idea, but thought there might be a case for
creating cisc.jit and risc.jit to avoid piles of "#ifdef"s. Daniel, Leo
and Nicholas Clark then spent a few posts thrashing out issues to do
with parameter naming and other more or less arcane things.
http://makeashorterlink.com/?U12722592
Native Function calls
Dan announced that he'd redone the native function call interface and
had added a new op, "bnc", which stands for `build native call'. His
post has the details of how it all works (and how to use it). Well,
that's what he said at first, but apparently it's not true. What he's
actually done is altered the "dlfunc" opcode to behave like "bnc" he
described. (It's a shame you can't hit "s/bnc/dlfunc/" in your mailer
and have the world alter every single copy of the mail you just sent. It
would have been useful for some of my previous summaries.)
Brent Dax wondered if this was going to be the new XS or if there was
more coming. Answer: Sort of.
Leo Tötsch didn't like nci.c's string functions, and wondered too about
places where you'd need to pass a pointer to the parrot interpreter. Dan
doesn't like the string functions either, noting that the code is "evil,
crufty [and] embarrassing", but that it is at least "well encapsulated,
so it can be ripped out, shot, and replaced with something elegant and
fast at some point in the future." As for parrot interpreter pointers,
Dan reckons that any code that needs to go so far should install real
extension sub PMCs.
Gopal V worried about the type safety (it's an obsession of his
apparently) or rather the complete lack of it, in this interface. Dan,
in a quote of the week post said yup, of course it's totally type unsafe
and he liked it that way, before confessing that he was getting that
`XML feeling. (You know the one--"It seemed like a good idea until I
thought about it")' and started backpedalling. Gopal V made a few
suggestions, and that's about where we left it.
http://makeashorterlink.com/?Z23715592
http://makeashorterlink.com/?P54723592 -- the correction
Leopold Tötsch, still the patch monster
Leo's contributions this week include:
* Patches to the JIT which give