The Perl 6 Design team met via phone on 31 January 2007. Larry, Patrick, and chromatic attended. These are the notes.
Patrick:
- have reference working
- assignment seems to be working
- next step is for loops and END blocks
c:
Patrick:
- yes
- have use statements mostly working
- need a free full day to work on that
- reminds me of a question from my talk last week
- how difficult is it to use NCI to link to C++ libraries, not just C libraries?
c:
- two answers
- "I don't know" is the best answer
- if they use "extern C" as most do, it's not too difficult
- depends on the quality of the bindings
- exceptions are difficult
- C++ object support may be tricky
Larry:
- it's ironic that the motivation for Perl 5 was to link to C++
- I'm fleshing out the declarative versus procedural semantics
- nothing you haven't seen before
- started constructing the official grammar
- trying to allow processing into whatever grammar people want to use
- based in on your current grammar
- trying to write it without the actions
- it has placeholders with the actions
- identifiers make it easy to post-process that into the grammar with actions
Patrick:
- it doesn't have closures?
Larry:
- they have nothing in them but star
- you can use it bare
- the closures will terminate longest-token matching without any other effect
- basically no-ops
- easy to identify visually
Patrick:
- is it somewhere I can look at it?
Larry:
- did a paste last night of the top end of the grammar
- haven't checked it in anywhere yet
- currently using hash style
- may or may not be the right thing in the long run
- I'll send it to you
c:
- I've heard a few people ask for a tutorial on writing a language on Parrot
- I might whack at that, unless it steps on anyone's toes
Patrick:
- the more the merrier!
- languages/abc is a tutorial-type language
c:
Larry:
- doing some documentation cleanup
- filling in semantics to the operators
- did the great S03 reorg, as I said I would last week
- basically trying to fill in
- instead of assuming "this'll be the same as Perl 5 mostly", I'm trying to be more explicit
- also changed negative subscripts
- they no longer DWIM for shaped arrays
- only for unshaped arrays
- we're negotiating the syntax
- probably involving stars
- seems to work out nicely
- did a lot of cleanup on the syntax of context coercions, particularly the sigiled ones
- unified precedence
- involved making prefix list operators looser than list infix operators
- separated comma operator into its own categories
- have 21 categories now, which is still two less than Perl 5
- didn't like that the hand-waving sophistry over comma being a list operator
- because we have consistent contextualizer syntax with parens or colons, we can use the null one as the target of a feed operator
- you can put @() in there
- it'll know that that's where it installs a list
- can use the other contextualizers to coerce this
- it's all much more orthogonal
- no longer a *** token
- did a lot of gather/take semantics clarification
- with consistent contextualizers, we can unify separate functions that were producing different kinds of lists
- zip and each are now zip, depending on whether you want it to return subarrays
Thanks
pudge on 2007-02-07T05:59:34
Thanks for posting these. I don't read them, but someday I might want to, and I think that's the point!
Re:Thanks
sigzero on 2007-02-08T12:42:23
I read every one. Mostly because it is interesting to see how "Perl research" is coming along or however you want to classify it. : )