Perl 6 Design Meeting Notes for 11 April 2007

brian_d_foy on 2007-04-11T22:33:00

The Perl 6 design team met by phone on 11 April 2007. Larry, Damian, Allison, Patrick, Nicholas, and chromatic attended. These are the minutes.

Damian:

  • despite family difficulties, I'm working very hard on the new verrsion of the POD 6 parser
  • hope to have that out on the CPAN today
  • I'm only tweaking the documentation now
  • slowly reading and responding to Synopses
  • that'll pick up its pace soon

Larry:

  • came back from the east coast
  • my talk at Brown went pretty well
  • it was open ended late on a Friday afternoon
  • it ran about an hour and a half
  • mostly getting caught up after getting back, lots of little details

Patrick:

  • working on the refactors of the regex test suite
  • I've cleaned the tests up
  • hopefully we can get a Pugs hacker to incorporate my patches back in
  • the TODO syntax is really nice
  • I'll probably post a message to p6c later today
  • I could do the merge, but I'd rather do other things
  • spent more time thinking about the overall compilation process for Perl 6
  • I really like Larry's grammar
  • I have to add a bunch of features to PGE to get it to work

Larry:

  • I wrote it in an uncompromising fashion, expecting that you could cheat

Patrick:

  • I will cheat in some ways
  • I'm having to redo parts of PGE anyway for pieces of the new syntax
  • so I might just bite off a bigger chunk so I can use more of the grammar
  • it won't be that difficult
  • the tricky part is dealing with the proto-regexes
  • multiple regex rules under the same name
  • I may just cheat by doing a brute-force implementation instead of trying to be clever about DFAs

Larry:

  • my little cheat script built a non-multi version of that
  • assumes that the order you define them is the order in which you match
  • run that script on it and see what it spits out
  • the principles of cheating are similar

c:

  • Haskell does the same thing in its pattern guards

Larry:

  • they cheat on purpose

Patrick:

  • we're cheating on purpose here too
  • also spent a lot of time looking at Flavio's miniperl 6 implementation
  • I wonder if we should use that inside of TGE
  • or a language like that

Larry:

  • I saw that he has objects working on Parrot right now with that

Patrick:

  • that might simplify the initial stages of compiler writing
  • that wouldn't take too much to implement it as a native compiler under Parrot
  • it wouldn't be too hard to extend that

c:

  • does PAST-pm handle the semantics it needs?

Patrick:

  • pretty much
  • it needs a few more pieces, but I'm happy with what it supports
  • things seem to be working out pretty well
  • we need to figure out how to do classes

c:

  • the tree right now seems to express expressions easily
  • but there are other entities such as classes and subs that it doesn't

Patrick:

  • we don't have nodes for those yet
  • but they should be easy to add
  • I plan to implement those as a specific HLL needs them
  • Allison needed slurpy for Punie
  • so we added them there

c:

  • giving a talk at Portland Perl Mongers tonight
  • an overview of PIR syntax, a tour of Partridge, and a tour of the source tree
  • hope to show that we use a lot of Perl 5 and that there are plenty of ways to contribute
  • also refactoring some grotty C code
  • that sucks

Larry:

  • isn't that what we've been doing for the past seven years?

Allison:

  • I thought it was more like 20
  • worked on Punie as a break from PDDs and such
  • found a weird double-signature of join
  • launched the objects PDD last week
  • this week we're pushing to implement what it specifies
  • clarifying the last-minute inconsistencies found during implementation
  • the autocloning within certain instantiated class idea didn't work out
  • now I'm porting the tests of our SMOP prototype to the new implementation
  • give it a complete run through the metamodel
  • Patrick, I checked in a couple of TODO tests for Punie
  • they're for parameter passing (slurpy and flattening)
  • if it gets working sometime in the near future, they'll start to pass
  • I also added is_slurpy() to PAST::Var

c:

  • I should be able to add the TODO test checker pretty transparently

Nicholas:

  • Patrick committed a change to S05 a while back
  • it moved things over by a column and made it preformatted text
  • POD 6 supports tables...

Damian:

  • basic tables

Nicholas:

  • will the Synopses move over to POD 6 to take advantage of its better features?

Allison:

  • our tools to publish them on the web site don't support POD 6 at the moment
  • not right away

Larry:

  • that'll be something we can delegate eventually

Damian:

  • the only two translators with this module are to plain text and to XHTML
  • the XHTML one is purely descriptive
  • you can put any CSS stylesheet on it to get the appearance you want
  • we may end up with a better outcome anyway
  • have people redo their CSS to take advantage of the output of the new features of POD

Allison:

  • when I added XHTML output to POD::Simple, I found a lot of other features with POD::Simple that people use
  • generate ToC or process large batches of files with intertextual links
  • I know we'll have to add support for that somehow

Damian:

  • that's one of the goals of POD 6
  • semantic markup, even if we had to fudge I>< and B><

Larry:

  • if they believe us...

Damian:

  • I think we can sell it
  • well, I think I can sell it
  • I'm also contemplating revisiting formats in S07
  • figure it's worth seeing if simplifications are possible
  • I've had plenty of time to play with the module written for it
  • can see what's useful and not so common
  • I'll do that when I get some time

Nicholas:

  • are there any formal plans on how pack and unpack will work?

Larry:

  • view them as a co-processor type of sublanguage
  • you can derive the pack and unpack templates from more than just hard-wired "here's how you do it"
  • you can ask a class for its pack or unpack template
  • otherwise they're pretty much the same

Nicholas:

  • I figure you're basically happy with how it works
  • it'll basically work the same
  • so you won't have to spec it in detail

Larry:

  • basically yes
  • we have to make sure that the underlying API is sane
  • then people can build on top of it as needed

Jesse:

  • We've got our first two Perl 6 microgrants.
  • Steve Peters is working on improving Parrot portability and putting structure in place to make sure it stays portable.
  • Phil Krow is working on DBIv2 hackery as a combined P6/DBI microgrant. My best understanding is that he's basically doing an h2ph for Java code (particularly the JDBC)