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)

Saturday September 08, 2007
12:48 AM

Perl 6 Design Minutes for 05 September 2007

[ #34382 ]

The Perl 6 design team met by phone on 05 September 2007. Larry, Allison, Patrick, Jesse, Nicholas, and chromatic attended.

Nicholas:

  • talked to Flavio Glock at YAPC::Eu
  • he asked whether P5 consistently converts from int to float and string and such
  • we're not sure if it works reliably; Perl 6 needs it
  • he's at least asking the right questions in the right places
  • Perl 6 might have trouble with this, thanks to C89 at least
  • Aaron Crane has a Perl 5 module which lets you use each on arrays
  • I talked to Larry and Damian about this
  • I found a nice way to make each work on Perl 5 arrays
  • couldn't bribe Rafael to put it into 5.10, so maybe 5.12
  • what should make it in is state
  • there were two bugs in the original implementation though
  • one is that if you assigned the return value of a subroutine to a state variable, that sub gets called repeatedly
  • they're START blocks in Perl 6 right?

Larry:

  • yes

Nicholas:

  • I have it doing the right thing then
  • my $a = state $b = foo() also works
  • I believe I have it working the way the Perl 6 spec has it
  • I don't think Pugs does it right yet
  • it's only for scalar assignment though
  • Rafael likes the patch
  • Abigail is working on corner cases
  • this might get in for 5.10
  • the list assignment version is hard
  • it's not going to happen for 5.10
  • no guarantee the whole thing will go in, but it looks promising

Larry:

  • getting over my jetlag from Vienna
  • mostly thinking about compiling patterns
  • my cheater program splits the standard grammar rules into longest token parts and action parts
  • I need more to work on the spec
  • need a way of returning the DFA-able pattern
  • I can separately address the action from the prefix token now
  • if I had an implementation of a DFA over many alternatives, it could tell me which rule to call
  • I could configure that rule without having to reparse
  • a DFA can't do some sort of assertions, so there might be retroactive reparsing at the end of a token match
  • those are fairly infrequent
  • now I'm just trying to figure out the right semantics for interfacing to that matcher
  • talked some with Damian last week about regularizations to pattern matching syntax
  • not happy with the suppress-capture question mark on rules
  • ought to be the opposite of bang
  • if bang doesn't have any width, question mark shouldn't either
  • looking at other characters to slip in there
  • various other clunkinesses in there from when we had some metacharacters and not others
  • with the recent policy change that all punctuation is all potentially metacharacter, some notations are overkill
  • particuarly binding
  • looking for cleaner alternatives
  • we might get a notation out of that that lets us declare match variables
  • my variables scoped to a part of the match
  • also possible to put the binding out on the right, instead of to the left
  • especially when passing parameters to a closure
  • playing with a lot of different syntaxes
  • haven't really settled on one yet
  • lots of ways to go wrong with that
  • might restrict the colon-binding to setting pre-existing variables
  • corresponding with Wolfgang Laun who's been going through S02 and beyond
  • looking at them from a different angle
  • he's pointed out some of the infelicities in the design
  • I'm thinking about some of them
  • currently we distinguish between the of type and the as type
  • the as type isn't that useful anymore
  • if people really want to lie about the return type, maybe they can put their conversions on themselves
  • the long dot stuff is mostly historical; all there is is unspace
  • simplifications like that
  • also the kp6 folks are getting pretty close to having it bootstrapped in itself

Patrick:

  • I took this last week off
  • the week before that I spent a lot of time working on NQP
  • we added quite a few more things: for, looping
  • what's left is having variables within namespaces and handling return exceptions and various sorts of exceptions
  • running into places where the irregularities of Parrot's opcodes are getting in my way
  • grabbing the variable from a namespace takes a different type of parameter
  • have to rework POST a bit to deal with that

Jesse:

  • how much of that can get regularized in Parrot?

Patrick:

  • I have no strong suggestions for fixing it within Parrot at the moment
  • POST is just going to have to deal with it
  • it does add some complexity
  • I'm just going to implement something that works, and someone may have to come along later and clean it up
  • after that, NQP will be done
  • I can get back to Perl 6
  • lots of things are blocking on this one piece of getting namespaces to work
  • being able to run code in mod_parrot and use Parrot libraries will work after this

Allison:

  • finished the mod_perl 2 book
  • went straight onto Vienna
  • spent a good bit of time with Jonathan and helping people at the hackathon
  • checked in some of the work from that
  • some I still need to go over
  • Dakkar gave me a Perl 5 prototype of the next step for TGE
  • not just matching based on the type of the node, but full-featured matching based on node attributes and children
  • also gave me a Perl 5 prototype of doing the automatic recursion into the next level of the tree
  • need to translate that into PIR and integrate it into TGE
  • need to finish the object model
  • it's kinda frustrating
  • the old code is pretty messy
  • lots of cleanup there
  • also working on the PMC PDD
  • it really just needs one final thorough pass
  • then we can move it out of draft

c:

  • doing some minor cleanup on all of the PMCs
  • mostly just tidying
  • but I've deleted some old code
  • have three things to work on: HLL, GC, vtable lookup but blocking on PDD 15 there

Jesse:

  • some of the microgrants have been paid

Allison:

  • is it time to branch for PDD 15?

Patrick:

  • yes

c:

  • it wouldn't help me

Allison:

  • I'm spending a lot of time working around the old object model

Patrick:

  • I'm having to work around the old model and deal with the new
  • it might be nice to rip all of the bandages off
  • there'll be a great deal of hurt
  • sooner is better than later

Allison:

  • the more I look, the more I realize that we can't keep the old model around
  • it's just too badly broken

Patrick:

  • I could care less about the old object model
  • whatever gets the new one implemented quickest works for me
  • the tools I'm building will use the new one and only the new one

Allison:

  • unless I can keep the branch only about two weeks old, then keeping things up to date might be more work than not branching

c:

  • I'm less convinced of that
  • I haven't seen a lot of changes in the past six weeks that have touched object producers or consumers
  • shouldn't be as difficult to merge in that sense

Allison:

  • okay, I should be able to make a public branch on Monday
  • probably will use SVK to do the merges from trunk though

Nicholas:

  • p5p is still grumbling about dor and err
  • no one can work out why you like err, Larry

Larry:

  • it's a soundalike of or and it has to do with error recovery
  • where you go if you err
  • it's a prettier word than dor too

Nicholas:

  • that's a clearer version of "dor is dorky"
  • Rafael and I are keen to defend Rule #1, but we've not been clear why
  • I feel uneasy about doing things differently from Perl 6
  • the peanut gallery seems to prefer dor
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.