The Perl 6 Design team met via phone on 13 December 2006. Larry, Allison, Patrick, Nicholas, and chromatic attended. These are the notes.
Allison:
- mainly working on porting Punie to Patrick's new compiler tools
- did some testing and refactoring of the tools yesterday
- just a little bit
- found that the proposed sequential refactoring c and I discussed will make it easier to test
- I'll send that over to Patrick
Patrick:
- my quick idea was to write little PIR scripts to test each node type
- create a tree that exercises that node type
- see if it does the right thing
Allison:
- oh yes
- I was testing HLLCompiler
- some of the earlier PAST tests will port over
- they had basic test
Patrick:
- my idea was just send a PIR program through
- let it create a tree with the node calls
- make sure that it compiles and does the right thing when it compiles
Allison:
- I have one complete top-to-bottom example
- creates and parses a very simple language
- makes the AST
- sends that through to the POST
- make sure that it prints the result that it expects to print
- the only want to get that in right now is the source syntax and the parser grammar and a file for the AST transformation grammar
- early on, I had TGE set up to work if you passed in a source string
- either I didn't test that adequately, or I'm running into low level Parrot bugs, but I couldn't get that working
- it would be a lot easier if we took c's strategy of an array of events to execute
- that'll be easier to test
- we can break out the pieces then
- test only AST -> OST independently, for example
- I'll work on that next week
Patrick:
- I have a solution for the string issue
- create a
PAST::Val
, but give it a vtype of undef and no ctype
- PAST-pm won't do any constant manipulation
Allison:
- that'll work in the short term
Larry:
- things quiet in Pugs lately
- fglock has been doing some work though
- keeping track of the mailing lists and Perl Monks
- mostly just answering questions as they come up
- also thinking about the relationship of gather/take with threading
- watching the type theory discussions go scrolling by with my eyes glazing over
- no real hacking except on the Perl 5 stuff
Patrick:
- have a paying job with deadlines this week, so not much on Perl 6
- did get the
try
block running
- that leaves the
for
loop and END
blocks
- I have a solution for binding now, thanks to mdiep
- I don't know that I'll have it ready for this Saturday
- Saturday's still open for me to partipate in the Parrot Bug Day
Nicholas:
- 6 on 5 needed a feature
- I figured that you can rid of a scalar type in Perl 5
- blead now has a spare type as a placeholder for doing some kind of binding
- it's now up to someone else to do a small amount of programming to make this work
- doesn't need a fix before 5.10
- it can go in later without breaking binary compatibility
c:
- how much work is it to do it?
Nicholas:
- I don't know
- I don't know what all it needs to do or how to test the corner cases
- biggest problem is making read-only aliases to read-write things
- read-write aliases are easy: increase the refcount and and stash the pointer
- somehow the read-only alias has to make things unaware that it does an alias but think it's read-only
- maybe it's as easy as doing all of the read-only logic checking for the alias type and then dereference it
- it can croak in the normal way if you try to write it
- lots of corner cases in other places
c:
- does triggering
IOK
or NOK
count as modifying it?
Nicholas:
- in the core that's okay already
- not sure what else is there
c:
- submitted patches to get
Test::TAP::Model
and Test::TAP::HTMLMatrix
to work; they're in RT
- explored Patrick's ResizablePMCArray subclassing and posted a patch, but it causes failures in
Data::Dumper
- still think it's the right fix though
- we're holding the Parrot Bug Day this Saturday
Nicholas:
c:
- all day
- don't care what time zone
- we'll try to have someone knowledgeable there all the time