Perl 6 Design Meeting Minutes for 25 April 2007

brian_d_foy on 2007-04-26T11:41:00

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:

  • it uses make and Perl

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:

  • who could do that work?

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.