The Perl 6 Summary for the week ending 20040208
Another Monday evening. Another day of displacement activity out of the
way. There's a huge lump of belly pork braising slowly in a mixture of
stock, rice wine soy sauce, and nothing on the telly. It must be time
to write the Perl 6 summary. As usual, I'm going to deal with
perl6-internals first.
RT Cleanup
The cleanup of the RT bugs database continued apace. Stephane Peiry
posted a list of old RT entries and their authors and asked them to
supply updates ore they'd be flagged as obsolete in the queue. In the
ensuing discussion, Steve Fink pointed out something that I'd missed: as
of this week, all the perl6 tests (including the regular expression
tests) are passing. He pointed out that the suite is *far* from
comprehensive, but I still think this is pretty spiffy.
http://tinyurl.com/38e6l
DOD, mutation, and generational collectors
Dan had posted some thoughts on the way that many of the things that
cause problems for threads also cause problems for generational garbage
collectors and gave a list of 'mutating activities' that might need to
be trapped by both threads and GC. Gorgon Henriksen asked Dan for more
elaboration on what he meant by generational GC because, as Gordon
understood it, it came with a whole load of baggage that was
inappropriate for Parrot. This week, Dan gave his answer and pointed out
that various other improved GC schemes (incremental, concurrent)
required the same level of support as a generational scheme so it made
sense to provide such support now. Leo Tötsch had a few comments to make
about the different possible schemes and discussion moved on to the
nastiness of doing GC in a multithreaded environment.
http://tinyurl.com/24vjs -- Thread root
SDL Bindings
The SDL bindings that chromatic's been working on continue to develop.
(Bah! People who insist on weird capitalization of their names and thus
force me into the passive voice are jolly annoying, even if personally
very pleasant).
http://tinyurl.com/3y4ft
Python PMCs?
Michal Wallace wondered what Dan's plan was for getting python objects
working for the pie-thon. Michal has made a small start on wrapping
PythonObjects as PMCs which seemed to work and was apparently easier
than trying to recode them as PMCs. He pointed everyone at his current
implementation. So far his post has been Warnocked.
http://tinyurl.com/2jzyc
http://tinyurl.com/3fnud -- The wrapper implementation
Docs and releases
Tim Bunce wondered whether Parrot's documentation was in sync with
current implementation reality, and when we'd see a clean way to make
method calls. In a post dated the 3rd of February, Leo confessed that
there is still a lot of outdated or unimplemented stuff in the assembly
related docs and noted that Dan had said that the low-level object
design would be done by the 30th of January.
http://tinyurl.com/ysrn5
Backward branch, Warnocked
Pete Lomax drew everyone's attention to a problem he'd found back at the
beginning of December which Leo had said was a problem with a backward
branch. He wondered when/if the problem might be fixed.
Sadly the answer was We're not sure when it'll be fixed, it's really
hard to fix the current version of IMCC, but it should be easier to sort
out in IMCCv2. For now, don't do that. Meanwhile, Harry Jackson tried
to track the bug down to the appropriate bit of IMCC; his experiments
with code variants seem to imply that the problem is with IMCC not
recognizing that ret is a branch.
http://tinyurl.com/2pxj6
Alignment issues with *ManagedStruct
The redoubtable chromatic came across some issues with the alignment of
members within a struct and wondered if there might be a better way of
sorting out alignment issues than his current trick of explicitly
padding things out (which he feels probably isn't portable). Leo pointed
out that there was already support for offsetting struct members when
setting up a *Struct PMC by using the third initializer parameter.
As discussion of the best way forward continued, it emerged that Jens
Rieks is in the process of writing a simple C-parser in IMC which should
be able to parse header files and create ManagedStructs automagically.
Go Jens. Tim Bunce suggested that Jens take a look at
ExtUtils::XSBuilder for hints. Meanwhile Uri was looking at
Convert::Binary::C which is apparently far more robust.
Leo ended up listing a set of requirements for a script to parse C
headers and generate the appropriate PIR code to set up various *Struct
PMCs.
http://tinyurl.com/2ae4m
http://tinyurl.com/36kxn -- Jens talks about his C parser
http://tinyurl.com/234du -- Leo's requirements
Baby, baby, where did my patch go?
Gordon