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)

Saturday January 06, 2007
04:13 AM

Perl 6 Design Meeting Notes for 03 January 2007

[ #32089 ]

The Perl 6 Design team met via phone on 03 January 2007. Larry, Allison, Jesse, Nicholas, and chromatic attended. These are the notes.

Allison:

  • Punie is very happy
  • it runs again, now on Patrick's modules
  • that gives me free rein to add new features
  • I'll try for loops next, just to be contrary

Jesse:

  • does the Parrot Perl 6 have for loops yet?

c:

  • I don't believe so

Jesse:

  • if Punie can implement all of Perl 6's features, one step ahead of Patrick...

Allison:

  • it doesn't need them
  • no method calls, for example
  • I do want to do some refactoring of HLLCompiler, based on ideas chromatic and Patrick and I talked about
  • also launched the IO PDD last night
  • it's done enough to start implementing now
  • I suspect we'll have questions during the implementation though

Larry:

  • does it say much about general event processing?

Allison:

  • I spent my holiday reading and writing and hacking
  • we have a lot of conflicting concurrency models
  • the only way to manage them without conflicts is to run them through a central scheduler
  • each model registers a task with a central scheduler
  • it's in the PDD

Larry:

  • it solves everything with another level of indirection

Allison:

  • I took the idea from Apple's OS level of concurrency

c:

  • sadly, Windows does that too

Allison:

  • it's in several places
  • we'll use several different concurrency strategies

Larry:

  • someone asked me if Perl 6 would support alarm()
  • I assured him he'd get some notification somehow

Allison:

  • events need to coordinate with the concurrency scheduler
  • I don't know if they run through it
  • I don't know if the scheduler sends events to notify things

c:

  • nods vociferously

Allison:

  • also, we have our trademark registered
  • we're official
  • the next step is doing EU and Canadian trademark

Nicholas:

  • is it possible to register with the EU patent office?
  • do you have to register trademarks centrally or in each country?

Allison:

  • we can do it centrally now

c:

  • mostly serving as a foil to Allison
  • did some work but I want a release soon
  • I need a deprecation cycle

Jesse:

  • most of my work is kicking and screaming
  • talked to Chip a couple of months ago about expanding the pumpkining to a cabal
  • I had a similar discussion with Jerry Gay
  • yesterday, the #parrotsketch masses agreed to create a benevolent
  • people's dictatorship to toss around the release engineering baton

  • we'll do monthly releases on a rotating release manager schedule
  • we'll have bug days before releases
  • hopefully no longer a single individual will be a gateway for the release

Allison:

  • and if one person falls through the cracks, we have other people who can do it

Jesse:

  • Andreas is working to get PAUSE permissions for everyone

Larry:

  • the usual working and hanging out and holidays
  • doing a lot of spec work
  • added a grammatical category for the do statement kinds of statement-introducing operators
  • worked over the call wrapped functions, call next method interface
  • no longer a goto routine
  • capture syntax is now clearer
  • Luke pointed out a signature ambiguity
  • if you want to map something to a capture and a signature, you have to use the capture subsignature syntax
  • it's sort of a variant of capturing trees
  • I noticed that range objects were meaningless when used with scalar operators
  • made them do smarter things
  • adding to or multiplying a range does interval arithmetic
  • tried to nail down how fancy metatokens can get
  • how far you can stack metaoperators
  • may revisit that again
  • the rules are still too complicated
  • did a lot of work on the smart-matching table
  • someone pointed out that it didn't allow you to match a string against a regular expression
  • seems suboptimal

Jesse:

  • does 5.9.x need an update?

Larry:

  • 5.9.x does the right thing
  • whoever it was there noticed it, thank you
  • I made a lot of simplifications
  • all of the Any rules are now at the bottom of the list
  • must easier to jibe with multi-dispatch semantics
  • specific cases are at the top
  • general cases are better
  • will prevent a certain amount of impedence mis-match between compile-time semantic determination
  • the old property/trait is from is insufficiently general
  • now there's a string implementation object that builds a string lazily
  • allows us to search over arrays as if they were strings more easily
  • other clarifications and housekeeping
  • moved a bunch of type information from S06 to S02

Jesse:

  • that's a fair bit of stuff!

Nicholas:

  • when you apply the scalar operators to a range, and that range is lazy, does it perform a lazy iteration?

Larry:

  • it produces a new range object

Nicholas:

  • in the smart match table, some things at the top are compile-time only
  • the rest of them, are they in the identical order of multi-dispatch?

Larry:

  • many are flippable and reversible

Nicholas:

  • left or right transpose?

Larry:

  • yes
  • by and large, they're what MMD would pick
  • except that MMD will probably fail on some ambiguities that the ordered table will not
  • if you flip some and have any on the left and any on the right, you can get some ambiguous dispatches that are hopefully distinct under MMD
  • I thought about that
  • you might have the option of dropping into multi-dispatch there
  • we do want to recognize Any versus a regex at compile-time and optimize on it

Nicholas:

  • not feeling smart enough to figure out how the same types would go with MMD

Larry:

  • I thought about saying that as soon as you hit the Anys, you do essentially a stubbed multi-dispatch at that point
  • "if I did this, what would you end up with?"
  • that's with compile-time visibility only

Nicholas:

  • there was a test time question on #parrot yesterday
  • I can get tests to run in parallel on a multi-core Sun box
  • I haven't handed that code to Andy yet
  • it's in no fit state to hand to Andy
  • I've not talked to Andy about what's the best way to turn the prototype into something nice

c:

  • Parrot doesn't use much of Test::Harness

Nicholas:

  • the display logic needs some caching in the Test::Harness object
  • there's also the part which launches tests
  • piped output
  • it can now spawn multiple programs but only prints at the end

c:

  • mostly we just send a list of files to runtests() and let that handle it

Nicholas:

  • so this is useful to Parrot then?

c:

  • I believe so
  • buy Andy sushi

Nicholas:

  • how many deprecated features are there in Parrot?

Allison:

  • 10 or 15 in DEPRECATED.pod
  • anything not listed isn't deprecated yet
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.
  • So just how does nods vociferously translate in a phone conversation?

    • I nodded vociferously. Allison was in the same room and said "chromatic just nodded vociferously." I applied editorial judgment to make the action more apparent.

    • Great to hear Perl is being properly trade marked! :-)

      But how about OReilly's "Camel"?

      Isn't it long overdue that The Perl Foundation clears up the confusion here?

      If the "Onion" is going to be Perl's master mark -- let's see it everywhere.

      At the time of writing I see four camels on the use.perl.org home page and not a single Onion :-(

      It's one thing to register a trade mark --- but the TPF needs a clear strategy for creating, promoting and nurturing a distinctive brand??

      What's the plan here?

      Let'