Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

chromatic
  (email not shown publicly)
http://wgz.org/chromatic/

Blog Information [technorati.com] Profile for chr0matic [technorati.com]

Journal of chromatic (983)

Thursday July 02, 2009
06:03 PM

Perl 6 Design Minutes for 27 May 2009

[ #39216 ]

The Perl 6 design team met by phone on 27 May 2009. Larry, Allison, Patrick, Jerry, and chromatic attended.

Larry:

  • changed the time function to return a Rat
  • thinking about the traits that have been bothering Jonathan and others
  • have some changes to check into the spec when I'm happy with them
  • thinking about the primitives we use to define use
  • breaks down into load and import
  • thinking of establishing compile-time keywords for both concepts
  • intended so that I can import from anything acting like a module -- an inlined role, for example
  • otherwise trying to keep up with the flow of IRC

Allison:

  • working on the Parrot book
  • changed its focus to a small, 100-page PIR book from a monolithic Parrot book
  • the intent is to get something out for YAPC and OSCON
  • will send out a draft for review
  • will merge my changes into the repo later this week

Patrick:

  • released Rakudo #17 last week
  • was easy again
  • 875 more tests since #16, so we pass 68% of the spectest suite
  • finished implementing the root_new opcode in Parrot
  • cleans up a lot of the PMCProxy issues from moving Rakudo to its own HLL
  • gained half of the speed we lost from the migration
  • we'll get more back as we update more places that need it
  • NQP never expected anything like that
  • I have to rework some it and PCT
  • haven't quite figured out how to do that
  • refactoring use and import in Rakudo
  • the current implementation doesn't work
  • will hopefully match with what Larry's putting in the spec
  • it seems like the logical way to do things
  • updated Rakudo's ROADMAP in docs/ROADMAP
  • gives us an idea of dependencies and next tasks
  • may also help people understand what blocks features they want

Jerry:

  • the bonding period has ended for GSoC
  • time for students to start coding
  • everyone on the Perl 6 and Parrot projects is ready

c:

  • fixed some memory leaks in Parrot and Rakudo
  • there are still some in Rakudo, but the web examples should be able to live longer
  • did more profiling
  • think NFG is important for Parrot in the near term
  • have some documentation to write
  • have been editing the Parrot book

Patrick:

  • how's the command line for Rakudo coming?

Jerry:

  • I expect to get back to that

Patrick:

  • the "parens build captures" decision surprised me
  • what's the rationale?
  • I really liked "parens mean grouping"
  • maybe I haven't reconfigured my worldview yet, but it feels messy

Larry:

  • when used in an argument list, it has the same effect as a capture

Patrick:

  • it even works when they're used as a term

Larry:

  • they still mean that you have to look at what you're binding to and decide
  • am I binding this to a scalar or to an array?
  • (1, 2, 3) bound to an array...

Patrick:

  • I'm going to have to think about that
  • the zip operator in slice context....
  • is this three or one positional arguments? zip($a,$b,$c)
  • how many positional arguments are in this case? zip($a,$b,$c;$d)

Larry:

  • one slice
  • you wouldn't want to write that

Patrick:

  • what in the arg list distinguishes the use of the semicolon versus the comma
  • inside of an argument list we have to recognize a variety of syntactic things
  • comma, semicolon, colon, array or hash sigil, named parameters
  • seems like captures need more information than just positional
  • they need to store metadata about positional arguments
  • I like the syntactic stuff showing up in the argument list
  • but I don't want to handle them in three different ways

Larry:

  • I'll have to think about that

Patrick:

  • haven't figured out how to deal with slice context either

Larry:

  • might say that the presence of a semicolon implies the presence of other parens
  • the comma implies...
  • that might be more consistent binding for a top-level list

Patrick:

  • I half expected that answer
  • I can see the semicolon as just a lower precedence grouping operator

Larry:

  • otherwise you have a semicolon that's just not there in every other argument list

Patrick:

  • assuming that, the other commas form an argument list through the infix semicolon
  • an array in there means Capture of Capture of Capture
  • we were about to refactor List and Array in Rakudo anyway
  • the question is "Do we really have a List type now?"
  • Rakudo assumes that

Larry:

  • if we can unify args list with List, that's probably healthy

Patrick:

  • I'd really like that
  • that makes things a lot cleaner
  • infix comma and infix semis now just create arglists

Larry:

  • or Lists
  • if you define List as "something that has out of band metadata"

Patrick:

  • any more decisions that you can make about that will help our implementation
  • I probably won't get around to that this week

Larry:

  • we make syntactic distinctions
  • we know that this is an arg list
  • we treat pairs as named arguments
  • we don't do that if we know it's not an argument list
  • it stays positional
  • that's the only distinction between an arg list and a List
  • purely syntactic

Patrick:

  • to summarize
  • zip($a, $b, $c) has three positional arguments
  • zip($a, $b, $c; $d) has two, the first of which is itself a list/capture
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.