The Perl 6 design team met by phone on 25 April 2007. Larry, Allison, Jesse, Nicholas, and chromatic attended. These are the minutes.
Larry:
- catching up with Damian's barrage of commentary on the Synopses
- finished that last night
- checking my grammar for things I've used but not defined
- found a few things
- otherwise holding forth as usual
Allison:
- it's not too late for a Parrot 1.0!
- spending time this week on mailing list messages
- getting some private messages about the significance of Parrot
- not sure why this last release kicked off something like that
- also preparing a talk for LinuxFest NW this weekend
- just putting together the PMC PDD
- seems to be going well
- not all that much radical change needed
- just collecting changes from various documents into something manageable
- will try to check in a draft this week, but maybe next week
c:
- I've been cleaning up Parrot's memory management and GC
- fixed a couple of memory leaks
- really improved memory performance, but have a few more tweaks to go
- I'm shepherding the next release
- trying to get object system more complete
- if we only get code cleanups in, that makes a big difference though
Jesse:
- check with Steve Peters about his microgrant
- he'll have more patches in the next day or two
- I just want to make sure he doesn't get burned out before he meets his goals for specific platforms
- Phil Crow is doing design work with Tim Bunce
- he's making progress
- have talked to Jerry Gay about reimplementing its configuration system
- just want to make sure we don't dump another project into Parrot's lap unnecessarily
Nicholas:
- Spider Boardman, I think, pointed out that autoconf is a right *expletive* if it guesses wrong
- metaconfig is more verbose and lets you override pieces of it
c:
- what's the approximate work of porting metaconfig to Parrot
- at least the language part of it?
Larry:
- I don't think of it as a separate language
- it's been a while since I looked at it though
Nicholas:
- it generates a configuration script written in the Bourne shell
- the internal dependency resolver generates that
Larry:
Nicholas:
- in theory, the thing that needs porting to Parrot is the units that make up the script
- only the output script, the equivalent to Configure, needs to run everywhere
Larry:
- it's an awful lot of years of knowledge baked into those configuration units
- not all of it well-commented as to its intent
- it's been so long since I've had anything to do with it
- it has a lot of support for hardware that someone somewhere has in his garage and hasn't booted in five years
- the basic idea of Configure is sound though
- probe for features, not platforms
- if you hard-wire platform information, you've probably failed
- if possible, you want to test something by compiling and running it
- you can't guess that it's there if the header exists
Allison:
- I haven't put removing Perl as a high priority
- that's why we haven't worked on it yet
- the reason it might be on the 1.0 path is that our current configuration and build system doesn't really work properly
- the amount of work for getting it to do so versus getting our ultimate solution working is equivalent
- it makes more sense to think about what we ultimately want to use
c:
- it's not just configuration too
- the PMC and NCI processing and generation systems are important too
Allison:
- I'm okay with the idea of using autoconf or metaconf that pulls the information into a layer that Parrot can use
Jesse:
- what's next for the grammar, Larry?
Larry:
- Pugs can parse it with some cheating
- I remove and transform certain problematic constructs
- then Pugs can parse it
- Pugs doesn't run it after that though
- getting it to run, even with cheating, would fast-forward a bootstrap
Jesse:
Larry:
- cmarcelo talked about hacking a regex engine into Haskell, but that didn't happen
- a lot of the problems come from the chewing gum and bailing wire within the Haskell code and trying to hand off the problem to another engine
- doesn't lend itself to working well
- don't know if I should try to prototype a regex engine in Perl 6 for people to hand-translate to other things
- in a sense we already have one of those
- well, two: Perl 5's PCR and Parrot's PGE
- it's one thing to parse the thing
- it's another to return the data structures back that would be a full parse tree
- having sufficient indirection in your rule set
- call some things as methods
- call rules by different names
- things like that
- I knew it was several steps beyond where everyone was when I put it out there
- I saw everyone aiming at S05 but ending up in much different places
- mostly it's just a common target to help people converge
- hopefully our methods and rules will end up named the same
- maybe our AST would have the same node names everywhere
Damian:
As Larry mentioned, I've been busy deluging him with Synoptic feedback.
I've also released two more updates of Perl6::Perldoc, with some major improvements in robustness, correctness, and functionality.
Otherwise, I've been working on organizing my speaking tours for July and
September. I will be available as Larry's henchspeaker for the Perl 6 update
talks at YAPC::Houston, OSCON, and YAPC::Vienna.