25 Feb 2010 chromatic   » (Master)

Perl 6 Design Minutes for 17 February 2010

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

Larry:

  • much work clarifying relationship of parcels to everything else (<a b>, assignment, arguments, captures, parameters, signatures, gather/take, and loop returns)
  • we now list all scope declarators in one spot
  • conjectured some ideas on how to handle the allomorphism of literals more dwimmily
  • had already specced some of this behavior for literals found inside qw angles.
  • literals that exceed a Rat64's denominator automatically keep the string form around for coercion to other types
  • clarified that anon declarator allows a name but simply doesn't install it in the symbol table
  • respecced the trig functions to use a pragma to imported fast curried functions
  • still uses enum second argument for the general case (rakudo is still stuck on slow strings there)
  • on iterators, renamed.getobj to.getarg since arguments are the typical positional/slicey usage
  • signatures are never bound against parcels anymore, only against captures
  • we now use "argument" as a technical term meaning either a real parcel or an object that can be used independent of context as an argument
  • anything that would stay discrete when bound to a positional, basically
  • return, take, and loop return objects are also arguments in that sense
  • they all return either a parcel or anything that can stand on its own as an argument
  • STD now adds a shortname alias on adverbialized names, ignores collisions on the shortname for now, which is okay for multis
  • STD now complains about longname (adverbialized) collisions
  • STD no longer carps about duplicate anonymous routine declarations
  • made the undeclared type message the same for parameters as for other declarations
  • clarify the error message about anonymous variables
  • no longer report a $) variable error where ) is the $*GOAL
  • add WHAT etc. to list of functions that require an argument

Allison:

  • working on two HLL implementations
  • one is Pynie, the other is Camle
  • nothing to do with Caml or ML
  • I've noticed huge improvements in NQP-rx from the previous NQP
  • can't say which feature improvements make the most difference, but I'll migrate Pynie pretty soon to take advantage of the new version
  • continuing to shepherd Debian and Ubuntu packages

Patrick:

  • essentially all I did was unify things
  • previously it had been two or three tools
  • it's just one

Allison:

  • even the syntax seems more regular

Patrick:

  • there are more pieces available in NQP-rx
  • Rakudo's -ng is now master
  • the old master is now -alpha
  • we took a big hit on spectests, but they seem to be coming back quickly
  • 5000 tests pass on trunk now
  • we have 16k or 17k we haven't re-enabled; they make the spectest slower
  • Jonathan thinks we may pass 25,000 tests now
  • that's great, considering where we were a week ago
  • I redid Rakudo's container, value, and assignment module
  • previously variables held values directly
  • now they contain reference PMCs
  • that cleaned up many things
  • we use more PMCs, but now we don't clone and copy as much
  • we move references around more
  • seems closer to how Perl 6 handles things
  • was much easier than I expected
  • updated the NQP-rx regex engine and built in constant types
  • handles Unicode character names
  • reclaims plenty of tests
  • answered lots of questions for people adding things into Rakudo
  • prioritizing other people writing code over writing code
  • increases our developer pool; seems to be working well
  • new release of Rakudo planned for tomorrow
  • don't know how many tests we'll pass, but it should go well
  • plan to put in a few things like sort and grammars over the next week
  • then I'll review the RT queue to find bugs and (hopefully) closeable bugs

c:

  • working on GC tuning
  • also working on String PMC tuning
  • working on built-in types and their behavior as classes and parent classes
  • the multidispatch bugs in particular I hope to solve

Syndicated 2010-02-25 00:27:32 from pudge

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!