Friday February 02, 2007
Perl 6 Design Team Minutes for 24 January 2007
The Perl 6 Design team met via phone on 24 January 2007. Larry, Patrick, Nicholas, and chromatic attended. These are the notes.
- aside from plumbing...
- continue to deal with the fallout from trying to define what it actually means to match longest tokens consistently across a grammar
- Luke and I had some interesting back and forth on that
- we're probably converging on something workable on that score
- thinking about the message from Steve Lukas
- "remember to outlaw declaring lexical variables twice in the same scope"
- there are some arguments on the other side
- thinking about what the default should be there
- thinking a lot about list comprehensions and how their syntax can fall out naturally from how we already express things with maps and for loops and such
- inside the opening bracket is now implicitly the start of a statement in terms of the syntax recognized at that point
- you can put for loops within parentheses now without explicitly saying do
- the notion of how you return a list of lists such that by default they flatten
- also such that you can get the result back as a list of lists if you want to
- some discussion about whether a list of captures can lazily decide based on context if people want a flat list or want it chunked
- other thoughts on syntaxes and defaults and such
- also the ever-going discussion on ints and nums and such
- need to install some of my decisions into S03
- I realize it's organized by braindump and not how an operator spec needs to be
- I'm about to reorganize it in precedence order as in the Perl 5 perlop page
- logical way to talk about ops, especially those that haven't changed
- we need to spec those
- it's a big fault of the Synopsis as it is now
- not much happened this week thanks to ice storms and school closures
- worked on PAST-pm
- have references working in Perl 6
- found that assign opcode doesn't work on arrays when you have a derived class of ResizablePMCArray PMC
- derivation from base class problem in Parrot
- yet another workaround to put in there
- keep running into the need for a new object model
- if you create a subclass from one of the existing PMC classes, some operations just don't work as you'd expect
- I have a workaround I'm almost ready to check in though
- I'd like to see a TODO test for that
- worked on other things we need for the AST representation
- better HLL type management
- it doesn't feel right
- I'll work on some other things to let that sit for a while and see how it works
- giving a presentation this Friday in Austin
- trying to go through a hundred patches a day on Perl 5
- feels like working at right angles
- managed to implement the namespaces PDD work on the NameSpace PDD
- should have that whole PDD implemented by the next release
- that ought to allow better implementation of the metamodel
- Larry, you mentioned "item context"
- is that a rebranding of scalar?
- we use "scalar" to refer to the container
- the context we refer to as "item context" these days
- it's been there for a year or so
- I missed that
- I like it better
- it's clearer
- we didn't want "atom"
- "item" is close
- what does your work program need from a Perl 6 implementation?
- the coverage of the Haskell backend with the speed of the Parrot backend
- it'd be nice to have language support for the rule engine
- does your program use that?
- mostly OO
- I could use roles to speed it up some to avoid some method lookup
- still thinking about multidispatch semantics
- maybe that's why Damian isn't here
- he's thinking about it too
- he can't decide which Damian to send