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 October 29, 2009
05:17 PM

Perl 6 Design Minutes for 21 October 2009

[ #39819 ]

The Perl 6 design team met by phone on 21 October 2009. Larry, Allison, Patrick, Will, Nicholas, and chromatic attended.

Allison:

  • fixing a few last bugs in the pcc_reapply branch
  • extremely pleased to see the work over the weekend
  • I was away from my computer for a day, but when I came back there was only one failing test
  • kudos all around
  • merged it to trunk today
  • that went smoothly
  • there was one hitch; I merged it in as a patch
  • missed a file that was added in trunk but didn't svn add it before the commit
  • otherwise no merge problems
  • glad we'd recently rebranched
  • that made things go smoother
  • plan to work on Pynie this week
  • open to suggestions as to what to work on next

Patrick:

  • working on nqp-rx this past week
  • it's going well
  • the regex engine does everything PGE did before, except for character classes and backtracking in subrules
  • I know how to implement that, but I haven't needed it yet
  • it's self-hosted, as far as grammar parsing goes
  • originally built it using PGE
  • builds itself since last Friday
  • no longer depends on PGE at all
  • worked on a self-hosted version of NQP over the weekend
  • putting together some core pieces
  • did quoting rules
  • capable enough to handle Perl 6 quoting rules
  • you can also limit it to simpler quotes
  • most people will do that
  • you can share the quoting parser using common backslash sequences quickly
  • very customizable
  • if you're creating your own language with new or different backslash sequences, you can write a new regex and add it trivially
  • lots of other small code generation
  • put together a new operator precedence parser
  • it's not intimately tied to the regex engine, like PGE's was
  • reusable
  • you can have multiple op precedence parsers within the same language
  • no trouble dealing with that
  • looks similar to the Perl 6 version
  • cleaned it up a bit over STD, especially over quotes
  • no roles and coercions in this version
  • just hashes
  • should be easier to explain to others
  • I hope Larry will consider adopting my version
  • I don't know if he's considering wider ideas that I haven't considered or encountered yet
  • I like what I've come up with so far
  • the new version of NQP is a reimplementation using the new parser
  • the new version will bootstrap
  • also exercises the new operator precedence parser and protoregexes
  • that'll help us switch Rakudo over to the new system sooner
  • easier to debug there than from Rakudo
  • hope to have a working version of NQP by Friday
  • hopefully even self-hosting by then
  • nqp-rx will work based on core Parrot
  • it requires no external libraries besides PAST
  • we could move that out of Parrot or reimplement it, but that's low on my priority list
  • posted to use.perl.org that outlines the Rakudo plans for the next month
  • we'll have several weeks of serious upheaval, tearing the existing grammar out of place and replacing it
  • very pleased with now nqp-rx is coming together
  • I hope it'll go quickly
  • Jonathan and I will work on it at the same time

Will:

  • working on Partcl
  • minor cleanup, trying to make sure it still works with blead Parrot

Nicholas:

  • I don't like UTF-16
  • Perl 5 should be able to read it big-endian and little-endian
  • Larry wrote the original code
  • I've fought several bugs in it
  • you get the benefit of larger sizes and variable length
  • but you have to deal with partial reads
  • I don't know if Rakudo will have to deal with it, but blah!

c:

  • fixing bugs
  • profiling
  • trying to optimize

Patrick:

  • Jonathan and I and other Rakudo hackers may need to lean on you for assistance
  • mostly Larry
  • lots of Parrot hackers who understand PCC and can fix bugs
  • we'll probably need resolution on spec issues regarding Captures and Parcels and the like
  • they're at the heart of what we're doing
  • we may get to blockers very quickly

Nicholas:

  • is Rakudo taking over from SMOP in pushing the spec?

Patrick:

  • we're pushing from different directions
  • I'm still interested in moving Partcl to the compiler toolkit
  • think it should move to the new one, not the old one

Will:

  • that's a good idea

Patrick:

  • once it's a little further, I'll schedule some time with you
  • discuss what's happening and how to migrate

Will:

  • I don't mind being the guinea pig
  • it'll give some speed wins

Patrick:

  • it'll enable more people to hack on it
  • if things work out well, a big part of your system will be written in NQP
  • switching it over to the old toolkit doesn't make sense now
  • I want to make sure the new system will handle Partcl

Larry:

  • all delegation objects, including arrays and hashes, get handled the same
  • placeholders may never be used in a hash composer
  • that makes map almost always work right
  • placeholders @_ and %_ were enabled only if other placeholders were used, but they now are usable standalone
  • make the signatures of p5 notation fall out more naturally
  • clarified that $_ behaves like a placeholder only if there are no other placeholders
  • clarified how if statements behave with those rules
  • clarified en passant type captures
  • clarified when ... should be a stub
  • documented that subs now default to my scope

Patrick:

  • that'll be a fun change

Larry:

  • I warned you several months ago
  • revised the notation of the :D type subset for the defined and undefined modifiers and pragmas for changing the defaults
  • lots of debugging
  • STD treated constraints as declarative
  • fixed them to catch undeclared variables
  • placeholder twigils now require an alphabetic character all the time
  • fixed viv to fix Perl 6 roundtripping
  • unbitrotted the Perl 5 emitter
  • still plan to replace gimme5 someday
  • infix operators now allowed to see the opp's precedence limiter as a contextual variable
  • added more information to the match tree for declarations
  • now have entries pointing into the pad and the declarand itself
  • forbade self-declared parameters in defaults, as their scopes were unclear
  • allow contextual sub declarations with sub &*foo
  • class declarations now allow ..., treated reasonably
  • fixed quasi-unquote parsing
  • split the Perl 5 grammar more
  • dups inside a multisig now treat the multis independently
  • switched to YAML::XS to work around Syck's roundtrip problems
  • cached the setting files in case I parsed multiple parses
  • didn't treat them as immutable
  • caused magical action at a distance
  • did a bunch of work on viv
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.