The Perl 6 design team met on 06 June 2007. Larry, Allison, Nicholas, Jesse, and chromatic attended. These are the minutes.
Allison:
- spent the week implementing pieces of the new object system
- it was a lot of fun
- I made a lot of progress
- we're passing over half of the old object test suite, using the new objects
- the biggest mismatch is a piece that I want to remove anyway
- trying to store classes and instantiate objects by type number
- that system just can't handle the things that we're doing now
- it works well if you have no namespaces or hierarchical class names or dynamic effects
- I'm making the new system work with it for now
- but we'll remove it later
Nicholas:
- I always wondered if it would work
- what did numbers give you?
- you can't serialize them; they get renumbered when you load classes in a different order
Allison:
- in theory it's an optimization
- passing around an integer is in theory more efficient than passing around a string or a class object
- but you end up retrieving the class object anyway
Nicholas:
- that's effectively a pointer lookup anyway
Larry:
- you end up boxing repeatedly
Allison:
- it just really doesn't make sense
- oh, and today the OSI board is voting on the AL 2.0
- we will likely get approval
- if it gets approved, I'll switch the license for the next release of Parrot
Jesse:
- what are the chances they'll give a conditional approval with some changes?
Allison:
Jesse:
- what are you doing in the next week?
Allison:
- traveling
- probably working on the PMC PDD and then the object stuff
- I want to get as much of the object stuff as possible for the next release
- I'm doing the release in two weeks
Larry:
- the talk is going about as well as it ever does
- working a lot
- cleaning up various things in the Synopses
- decided it was stupid not to distinguish symbolic from hard references in indirect method calls
- you always use quotes if you're doing a symbolic method name
- you can interpolate a variable there
- the non-quote form of indirection
$.method_name
is always exclusively a hard reference
- that opens up using a list variable of some sort
- we now have a very easy way to specify a list of candidates to visit
- we can get rid of the
WALK
pseudo-class
- we just need a method that returns a list of candidates, perhaps lazily
- then we can dispatch to that list of candidates
- talking about why we will or will not rename various fundamental structures
- I've thought
@:
was ugly for a while
- syntactically now you can use any sigil as a list operator
- they require trailing whitespace, so we didn't need the colon
- trying to come up with a decent word for all of the contexts that sigils supply
- the
@@
context is now "slice"
- a list of lists you use in a multi-dimensional subscript
- I was inconsistent in my terminology
- the whole thing is now a slice, not just each individual dimension
c:
- is the other a "sliver" now?
Larry:
- there was a bunch of speculation about the
xx
operator
- you can repeat an indefinite number of times with lazy lists
- there was a proposal to do the same thing with strings
- in the end, I decided that you can emulate it with a
Cat
object
- that's an infinite list
Nicholas:
- Perl 6 effectively supports infinite strings?
Larry:
- it's an object that emulates a string
- it does the
Str
role
- I don't want to make all strings capable of that
- it would have a bad effect on performance, I think
Nicholas:
- sometimes it's useful to ask for the length of a string
Larry:
- basically, strings are scalar and should not be lazy
c:
- fixed a few bugs in Parrot
- applied a lot of patches
- fixed a couple of memory leaks
- have a couple more to fix
- they're not big, but they do help PGE
- then I really will work on the getting started guides
Jesse:
- I've been going back and forth with Flavio about his KP6 project
- trying to get a sane roadmap
- he has a set of projects, milestones, and tasks
- those tasks are delegatable to Perl 5 and Perl 6 coders
- it's focused on Perl 6 on Perl 6, not Perl 6 on Pugs and Perl 6 on Parrot
- those are bonus projects
Allison:
- we've handed out about $6000 in the Parrot grants lately
- it's $2000 for finishing a milestone