Perl 6 Design Team Minutes for 31 January 2007

davorg on 2007-02-08T12:02:00

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:

  • that gives you sanity?

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:

  • great, I'll take a look

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. : )