The Perl 6 design team met by phone on 13 May 2009. Larry, Allison, Patrick, Jerry, Will, Nicholas, and chromatic attended.
Larry:
- continuing to think about how braided languages work
- implementing the notion in the STD parser
- the notion of how you switch between these languages
- now called slangs
- thinking about how macros work in embedded lexical scopes
- if you define a role which contains a trait auxiliary definition
- label it
is export
- how does it export?
- to which lexical scope?
- when you do the role or what?
- no defined way of exporting to outer
- that's a problem in some tests
- with
augment slang
, we have a way of embedding grammar modifications inline
- when do ordinary macros embedded in subscopes desugar to that sort of thing?
%*LANG
now holds the whole language braid
- the
$*PARSER
variable is just the MAIN
element of that
- I backed off some of the errors in the STD parser to just warnings
- don't really handle module and role long names yet
- you get bogus "can't augment" warnings now
- it thinks something isn't there that should be there and vice versa
- fixed a test where STD needs to parse
=for
; now it does
- added the slang declarator so that we could augment them
- a twigil indicates a current slang subset of the current braid
- fixed a bug to recognize the invocant marker after an unspace
- that was a longest-token match problem
- the message I added about a missing block gobbled by a function is now two separate messages
- one talks about the function which needs parens
- the other talks about the missing block
- they point to two different areas as a matter of clarity
- I'm really enjoying adding clever error messages
Patrick:
- Rakudo now passes 11,200+ tests
- up by 70 tests since yesterday
- a couple of hundred in the past week
- mostly doing little bug fixes and refactors
- typically, I'll start to add a feature and find some code which doesn't look right
- then I add the feature
- slurpy arrays and hashes weren't added properly to subs
- always added automatically regardless of the type of
Block
- I cleaned that up
- also cleaned up lots of parameter handling in the code
- that made actions.pm 100 lines shorter, and I removed three duplicate subroutines
c:
- that also speeds up startup
Patrick:
- every time we do that it helps
- found a bug dealing with Unicode characters in grammars
- prevented us from properly parsing French quotes as an angle delimiter
- working on adding operator parsing to Rakudo today
- define your own custom operators
- refer to them using canonical names
- expect to have that done today
- they won't be lexically scoped
- I'll work on fixing that, when we get more to lexical scopes and language braids
- continuing to consider protoregexes and LTM in PGE
- probably will implement contextual variables in NQP and Rakudo
Allison:
- we'll have packages in Ubuntu soon
- just a straight sync of the Debian packages
- no reason to make Ubuntu-specific packages, if that works
- working on editing the book
- working on the calling conventions branch
- writing a Parrot article
Jerry:
- GSoC mentors and students seem to be bonding in their bonding period
- set up parrot.org to accept donations from individuals
- there's a sidebar link under the Foundation heading
- and we received our first donation!
- thank you, Bradley Kuhn
- we'll work on placement and prominence
- think I'll give a keynote at YAPC::NA, following Larry
Larry:
- if you pay me enough, I'll run over
Patrick:
- if you don't pay him, I suspect he'll run over
- you are what stands between everybody and lunch
Will:
- added some regression tests
- made some stuff work in Perl 5.8.8, so we don't have to upgrade our dependency
- wrote a script to summarize our old branches
- convinced people to delete a bunch of old branches
- hopefully we can weed them out
- TPF's grant committee votes this week on the current crop of proposals
- one of them is for Perl 6
- if you have any comments, please post on that
- Partcl is still dead
- blocking on the ability to build a language from an installed Parrot
- we've made some progress on that
- there are still things that do not work
- most of them have tickets
Patrick:
- Rakudo's blocking on the same thing
- Tene is working on getting Rakudo to run in its own HLL
- he's blocking on the HLL
load_library
problem
- I'll have him post to the list and give an update on the ticket
Nicholas:
- Rafael has merged his smart-match branch back into blead
- he tried to make smart-matches match ranges
- it won't work for various reasons
- precedence is the wrong way around for one
$foo ~~ [ 1, 2, [ 3 .. 5 ] ]
won't work either
- Perl 5 ranges aren't lazy
- smart-match can't interrogate
Range
objects lazily
- that's why we can't emulate everything from Perl 6
- we don't have the low-level infrastructure to do it all
- even if we had that infrastructure, there are parsing issues
- I don't see that coming in a hurry
- if someone implements lazy ranges, maybe someone can add them to smart-match
- giving the enjoyment people derive from implementing such things, I'll be surprised if anyone does that
c:
- added some optimizations
- heading toward the "not really worth doing" kind
- fixed some bugs
- including a Unicode parsing bug with named parameters and arguments in IMCC
Nicholas:
- did you write about the abolition of unary equals, Patrick?
Patrick:
- not yet
- I feel badly about that
- I need to catch up
- there are so many interesting problems to work on
- writing is not as interesting as working on code
Donation processing and hosting
mpeters on 2009-06-17T14:32:56
Not sure who to put this suggestion to, but this is probably a good place to start. If parrot.org is happy with their donation processing, etc then this might not be worth it, but if not, this is exactly the kind of thing my company does for other non-profits (http://plusthree.com/). Let me know if The Parrot Foundation's interested and I'm sure I can work out something for you guys at no cost.