Slash Boxes
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)

  (email not shown publicly)

Blog Information [] Profile for chr0matic []

Journal of chromatic (983)

Wednesday February 17, 2010
11:58 PM

Perl 6 Design Minutes for 03 February 2010

[ #40191 ]

The Perl 6 design team met by phone on 03 February 2010. Larry, Patrick, and chromatic attended.


  • more cleanup of iteration semantics
  • no longer signal end with Nil, but with special EMPTY failure
  • this can support either unthrown or thrown exception styles
  • added in batching iterator interface
  • proposed new E operator for efficient list end detection; gathering feedback
  • detangling of sigils from contexts; for example, @ no longer implies flattening
  • coercions all defined to take parcels so they don't flatten accidentally
  • more cleanup of various types (captures,lists) that should be considered parcels
  • forcibly amputated the @@ sigil; have fixed up most of the bloody stumps
  • instead of *@@ parameters, we now have a ** slice marker on parameters
  • removed references to [;] reduction since it wouldn't work (because of return parcel embedding)
  • new **() interpolator instead
  • clarified that function calls in a list are called eagerly, but their results are potentially lazy
  • (also mentioned ways to make the call lazy too)
  • renamed iterator methods for more clarity, removing contradictory usages of "item"
  • iterators now iterated with get, getobj, batch, and batchobj
  • specced that a missing maximum allows the iterator to decide batch size.
  • get and getobj must be atomic under multi-threading so message queues work (but maybe that's backwards, and push should be atomic)
  • slice now defined to turn subparcels into Seq objects
  • spec that most of the work of flat and slice are done by binding to *@ or **@
  • new flat operator detangles flattening semantics from normal unmarked list semantics
  • for all specced functions, *@@ parameters changed to **@
  • multiple dimensions now defined in terms of nested parcels, not feeds, to avoid implying multithreading on every subscript
  • either range or series iterator now autotruncates in a subscript
  • no autotruncation on left end of a subscript anymore
  • did some cleanup of feeds; more is needed to have clearer target semantics
  • feeds no longer take a whatever target with implicit semantics; just use an explicit target
  • not much hacking, but edited tests to change @@ to something else appropriate
  • tracked name changes in CORE
  • wrote a long screed on why Perl 6 has one-pass parsing and why typenames must be pre-declared


  • working on interators and lists in the -ng branch
  • brought up a few issues with Larry as appropriate
  • took issue with others, as appropriate
  • happy with our progress there
  • expect to make this branch the new master in the next day or so
  • will be some regressions, but it's time to do it
  • there's no development taking place on other branches, so let's commit and do it
  • people will be comfortable about doing their own work and not having it lost on some other branch


  • looking into GC tuning and ideas
  • still working on getting methods out of namespaces
  • need four uninterrupted hours
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.