Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

chromatic
  (email not shown publicly)
http://wgz.org/chromatic/

Blog Information [technorati.com] Profile for chr0matic [technorati.com]

Journal of chromatic (983)

Thursday August 16, 2007
01:53 PM

Perl 6 Design Minutes for 15 August 2007

[ #34132 ]

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

Larry:

  • I'm tolerable fair
  • spent most of my time this week writing an additional translation from the standard grammar to a version of Perl 6 without regular expressions
  • that can conceivably run on top of Pugs
  • conceptually, I think it might give us a high-level bootstrap

Nicholas:

  • why no regular expressions?

Larry:

  • none of the current ways of getting at regular expressions with Pugs actually interface well with Perl 6
  • if I put the semantics in with a Perl 6 engine emulating regex semantics, I'd naturally get the Perl 6 linkage correct
  • I expect it's going to run dog-slow

Nicholas:

  • it's run-once

Larry:

  • it has to run once every time I change the standard grammar
  • it's yet another pseudopod in our amoeba-like flooding algorithm for finding a bootstrap

Nicholas:

  • only one needs to work

Larry:

  • it's having the great benefit of helping me understand the underlying semantics
  • the rules engine
  • I know what the linkage needs to be to methods in a grammar
  • the instantiation of the grammar is the current parse
  • contains information about what it is parsing
  • there's always a first argument to every method
  • implicit in rules
  • if you call a method explicitly, you have to put it in
  • basically the current hypothesis; the current position within the string
  • everything works with nested closures
  • pretty much all just single-assignment binding
  • you have to do it that way
  • relying the fact that I can use lazy list processing to implement continuations

Nicholas:

  • you will need hypotheticals to do this
  • backtracking for example

Larry:

  • as long as you attach them to the right hypothesis, hopefully they'll end up in the right place eventually

Nicholas:

  • are you saving state explicitly, or are you using Perl 6 data structures?

Larry:

  • they're match objects
  • the next rule takes the previous match object
  • it generates oodles of match objects to do this

Nicholas:

  • if it doesn't need a Perl 6 rules engine or backtracking, it may be slow
  • but because it needs less, it doesn't rely on things working all the way

Larry:

  • lazy lists, indirect binding, closures
  • it looks like it's going to work out
  • I'm having the appropriate amount of fun

Damian:

  • my main issue this week is packing
  • critical problem is, as always, "How do you get through Heathrow?"
  • I've written everything but my Vienna keynote, but I've plotted that
  • may have some new suggestions for what can go into Perl 7
  • no discernable Perl 6 work this week
  • would you like me to change the P6 update with regard to angle-tilde-tilde?

Larry:

  • not sure yet

Damian:

  • still tinkering in my head about the documentation stuff
  • I'll work on that on one or several planes

c:

  • finished my third Linux Magazine article
  • should get people up to the point of being able to write tests in PIR
  • have heard that people liked the first article and have started showing up to #parrot
  • reading garbage collection papers
  • have some ideas on generational systems

Allison:

  • working on the mod_perl 2 book this week
  • worked out a deal with O'Reilly which should let me work on Parrot half-time for the next year
  • full-time between now and December
  • half-time from January through March
  • March through June a quarter time

Patrick:

  • made the AST handle named parameters
  • NQP can now make calls using named parameters
  • NQP now handles subroutine and method declarations
  • now I just need to make them handle named parameters
  • then NQP will basically be done
  • then I can redo the Perl 6 compiler and a couple of others using NQP instead of PIR
  • we'll see how well that works
  • in doing NQP on NQP...
  • it's not self-hosting, but it uses the same model
  • ... it compiles faster than the Perl 6 model
  • that's kind of surprising but kind of not

c:

  • surprising?

Patrick:

  • we avoid one TGE step by building the AST as we parse

Allison:

  • that's a good optimization

Nicholas:

  • will NQP end up being self-hosting?

Patrick:

  • it could
  • it might not
  • I'm writing it twice actually
  • I write it once in the comments in NQP
  • then I write it in PIR
  • someone who wanted to make it self-hosting could
  • somebody looking at the PIR could just look at the comment and see what it's doing

Nicholas:

  • at some point you could automate that compiler rewriting
  • that's a little scary

Patrick:

  • we've talked about that
  • we could keep the PIR code in the archive

c:

  • how's the testing and documentation?

Patrick:

  • Colin Kuskie has been adding tests as I add features
  • he'll be able to write the tests for subroutines and subroutine calls
  • we're not falling behind on the testing for that
  • essentially the documentation for NQP is Perl 6
  • start with the README and see what pieces you need
  • then ask me questions and I'll give you answers
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.