The Perl 6 design team met by phone on 16 January 2008. Larry, Patrick, Jerry, Jesse, Nicholas, and chromatic attended.
c:
- fixed a couple of nasty bugs in Parrot
- have two more to look at, but I'm working on those
- did some more work on the PMC PDD; not sure how much is left
- a couple of big tasks, I think
- we'll see what's going on there
- Allison dishes out a task at a time to me and that works out pretty well
- worked with Andy to fix up some const goodness through Parrot
- should help memory use on servers and in fakecutables
Patrick:
- we're on our way home from the hospital now, fortunately
- have just changed the name of the compiler to Rakudo
- happy about that
c:
- what's your sense of handing off things to other people?
Patrick:
- haven't thought much about that
- much easier to plan the schedule as we're going home now
- it would help with others (Jerry) came up with priorities
- things to do or look at next
- I can set the priorities on those
- most of those someone else can do
- comfortable with what Jerry's checking in and coordinating
- if there's anything blocking on me, I'll see what I can do
Jerry:
Patrick:
- I'm online frequently and can answer emails to get important things out of the way
- I follow what's checked in and jump in when necessary
- we can fix things later if there's something I don't like but don't have time to talk about
Jesse:
Jerry:
Larry:
- things are going well here
- added a couple of variant flags for substitutions
- attempt to maintain case or accents across substitutions
- put a lot of thought and some spec work into the implications of taking the default view to be graphemes
- it's a similar problem to the rest of Unicode
- you're always running into variable-length encodings
- graphemes are, at the very heart of them, variable-length if they don't have a precomposed codepoint
- figured I needed to tackle them head-on
- within a Perl 6 process, every grapheme that it has seen gets a unique ID
- either the precomposed codepoint, if it has one
- or a uniquely-assigned ID through the life of the process
- we can do things on the grapheme level and not worry about the variable-length encodings
- just worry about the maximum int size required
- simplifies the functions
chr
and ord
- looks like a real win to me
- unless someone tries to feed all of the possible graphemes to a single process
- could be a denial-of-service I suppose
- some discussion about the nature of feed operators and whether they're operators
- not much resolution
- after much discussion, I wrote a preprocessor to handle tests on a platform-specific basis
- called
fudge
, probably short for "FUD Generator"
- interprets smart comments and fudges the tests to pass or todo or skip in a clean way
- added benefit that it's a notation that should simply disappear as a platform can pass the tests
- you only need to fudge the test if your platform is not yet up to stuff in some way
- part of the definition of passing the test is the ability to pass the test without doing any fudging
- just trying to stitch the preprocessor into the test harness
- or the F for the test process
- probably just a filter that fudges the files and passes the fudged files into the harness
- answering questions for people working on the other backends for kp6
- some activity on both the smop backend (C-based CPS VM) and a possible Ruby backend
- also gently pushing Patrick to pick a name, and I'm happy with the result
Jerry:
- talked with Larry on fudge
- nice piece of syntactic sugar
- it'll work great as a filter
Larry:
- either Test::Harness has to do that
- or a source filter within the F in the script
- no spec for source filtering within Perl 6 now, if ever
Jerry:
- coordinating the infrastructure for Rakudo
- includes and IRC channel and some such
- gives us a place to talk about that implementation in specific
- rather than hammering #parrot with specific questions
Jesse:
- #perl6 expressed an interest in discussing it there
- doesn't seem like a good reason to segregate things further
Jerry:
- hm, we can do that
- we just need a wiki and a website
- Andy's working that out with Patrick
- added a bunch of command-line options and wrote about them in my journal
- added support for compiler directives
- should be able to remove once fudge is working with Rakudo
- added TODO support to the Rakudo test module
- we have one or more contributors helping to refactor the Perl 6 test suite
- based on that work, I've been able to take a crack at some of the ops and methods that those files test
- extending Perl 6
- it's been helpful and I hope it continues
- lack of direct access to Patrick has slowed me a little, but there's enough to do that it's not bad
Nicholas:
- released a snapshot for 5.8.9 to be
- hope to get that out before 5.10.1
- I like the new name
Jesse:
- had a nice chat with Patrick about his work and kp6 and such
- talked to Patrick and Flavio about a weekly Perl 6 implementors sketch
- they're both interested
- we'll work out a set of likely times from the implementors and go from there
Nicholas:
- Larry's idea for grapheme IDs sounds like immediately transcoding to UCS-2
- or am I making that up?
Larry:
- you can't transcode a grapheme to a fixed-width encoding
- they can have an arbitrary number of trailing combining characters
- the idea is to get a fixed-width encoding
- you already use the one in Unicode, if it exists
- the ID of a capital A in Unicode is 65
- you just give temporary precomposed forms to those that don't have them
Nicholas:
- you design a barrier around input/output
- across that barrier, you transcode to Unicode
Larry:
- you cannot have an output of graphemes
- you need some encoding and known normalization
- as soon as you transit from grapheme to codepoint, you need to know the mapping
- same with encoding
Nicholas:
- there seems to be an internal translation
- Unicode could generate sequences of combining characters
Larry:
- anything that can concatenate codepoints has to look for that
c:
- Simon Cozens is looking into this for Parrot
- he and Larry should discuss this, because he knows more about this than us
- by "us" I mean "me"
Nicholas:
- someone proposed named parameter syntax for Perl 5.12
- seems sensible to adopt as much of Perl 6 syntax as possible
- Larry, have you looked at that thread yet?
Larry:
- such threads tend to raise my blood pressure
- if people are interested in knowing what Perl 6 does, they can go look
- I don't have enough bandwidth to keep Perl 5 on track and do my best work on Perl 6
- when I do participate, I'm often ignored
- see the
grep
/map
in void context thread
- propogate the context into the block, and let I complain
- you don't get any false positives that way, and no false negatives
Jesse:
- I wonder if we could con Damian into p5p for that discussion
Larry: