Perl 6 Design Minutes for 13 May 2009
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<nobr> <wbr></nobr>.. 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
Syndicated 2009-06-16 20:14:44 from pudge