Perl 6 Design Meeting Minutes for 02 January 2008

chromatic on 2008-01-03T21:19:31

The Perl 6 design team met by phone on 02 January 2008. Larry, Allison, Patrick, Will, Jerry, Nicholas, Richard, and chromatic attended.

Larry:

  • revising specs lazily on demand
  • seems to be my main mode of operation these days
  • being available for questions
  • managed to get Geneva married off
  • we're pretty much over the holiday descent of relatives
  • should be able to get back to heavy duty work soon?

Allison:

  • working on the concurrency scheduler
  • more stuff after events
  • integrating some new systems into it
  • ripping out the old implementation
  • managed to change a default run of Parrot from running three separate threads to one by default
  • only split off multiple threads when you spawn them now
  • just checked in one change
  • fixed a couple of intermittently failing tests
  • had some very helpful problem reports from multiple platforms
  • everything but the old STM tests are still intermittently failing
  • I have a solution for that now

c:

  • was the Helgrind output helpful?

Allison:

  • it told me exactly for sure that it was NCI callbacks that were causing the failures
  • also working on getting the Debian stuff ready for their first review
  • hopefully we can get our first Debian package soon
  • there's one bug report on IA-64 from Parrot 0.4.5
  • might not apply anymore
  • it was a PGE problem
  • we need to verify that first

Patrick:

  • does Ubuntu count?

Allison:

  • you can set up a Debian Sid chroot if you have access to IA-64 running Ubuntu
  • Colin says Debian has a few servers they make available for this
  • that's the only issue preventing an upload today

Will:

  • working on a new JavaScripty interface to look at RT tickets
  • have a proof of concept right now
  • want to get some feedback from more people right now
  • basically Patrick asked for a nicer way to find tickets to work on
  • might talk to Robert about moving that over to a perl.org server to handle more traffic

Patrick:

  • took a few days off for Christmas to build a 5000 piece LEGO set
  • that was fun
  • we're a LEGO family
  • we have a nice Millennium Falcon

c:

  • I just want to bask in that for a second

Patrick:

  • I'll post pictures; it's pretty cool
  • adding more features to the perl6 compiler
  • the biggest work there is a couple of documents that describe how the compiler fits together
  • hope to cut through the confusion that people have when they hear PGE, TGE, NQP, etc
  • hopefully that can be the start of the PCT documentation
  • started refactoring the test suite
  • dividing the tests up by Synopsis
  • it's still early in the process
  • it seems to work nicely so far, at least for me
  • spent some time working on pbc_to_exe
  • the files that it creates can run from anywhere
  • now we have a make perl6 target that creates a perl6 binary
  • it doesn't work with an installed version of Parrot yet
  • fixing that requires fixing the installation target
  • still a little messy
  • asking a few questions here and there about the design things
  • have another journal post coming up later today
  • also have a monthly report for the Mozilla Foundation grant coming too

Jerry:

  • NQP now handles optional, named, required, and slurpy parameters
  • I expect to add that to perl6 shortly
  • perl6 now handles base conversions for integer arguments
  • working on fractional conversions now
  • did some work on pbc_to_exe, but it still needs some work on Win32
  • I'll take some hints from the dynpmc implementation on finding the Parrot shared library
  • found and fixed some small bugs
  • added some 64-bit platform conversion warnings under MSVC
  • there are thousands of warnings that we need to fix before we can get a 64-bit build on Windows
  • I expect that most of those are from three or four root causes
  • the biggest thing is that the size of an int and a size of a pointer are different

c:

  • can we rely on size_t?

Nicholas:

  • I think so

c:

  • found and fixed some nasty memory corruption bugs
  • intermittent but nasty
  • I also checked in the pbc_to_exe code that Jerry and I worked on a while back
  • I think we're close to getting it to work on Windows
  • have some weirdness with dynamic linking on Mac OS X that I just don't understand

Nicholas:

  • I branched the 5.11 branch for Perl 5
  • committed the patch that adds each and values on arrays
  • we may make that available under Perl 5.10.1
  • also made regular expressions an SV type
  • simplifies things
  • 5.10 is getting good reviews
  • there is one performance hit because of a list copy op pessimization
  • don't know when we'll start thinking about 5.10.1

Richard:

  • grappled with the Perl 5.10 release
  • specifically getting the press releases out there
  • had a domino effect on people pushing each other to do things
  • thanks to Nicholas for leaning on me
  • I leaned on Andy a little bit
  • Andy managed to get some good bits out there
  • it made the rounds
  • for any given misinformation on any site, I think that was more the reporter misinterpreting things than Andy misrepresenting them
  • for example, "TPF released..." versus "TPF announces the release..."
  • need to follow up with the people doing translations
  • there was a big push in the German language media
  • we have a Dutch translation, promises on French, Portugese, Chinese, and Japanese
  • I'll collect the various multi-lingual press releases into a canoncal page that people can link to in perpetuity
  • the XAMPP leader mentioned that he's rolling up a new release
  • he said that he wasn't going to include 5.10 because it was a development release
  • I talked to him and he'll include 5.10 in the January release
  • he explained his reasoning, and he's right
  • our language on this is all screwy to an outsider
  • "stable", "latest", "production", and "release" versions are all mixed up on various sites like cpan.org and perl.org
  • still working on hackathon funding
  • also working on funding funding
  • as part of the Mozilla Foundation grant, we promised to pursue further funding

Will:

  • are we sure that the pbc_to_exe issues are due to the dynamic build or a static build?

c:

  • it's the same issue that Tim Bunce was looking at with Parrot::Embed
  • the default build is static
  • if you build dynamic things should work

Will:

  • dynamic works on my Intel Mac
  • I'll try on PPC and then if it works we can switch the default

Nicholas:

  • we've been very reluctant to declare on the day and date of the release that a release is ready for production
  • we don't know if there are any scary bugs
  • this performance regression might be nasty

c:

  • I'm not much interested in protecting people from their own stupidity
  • if you upgrade stable versions of Perl without testing it on an application you rely on, you should know what you're doing

Richard:

  • seems analogous to people who said "2.4 kernel is out; I'll wait for a few releases"
  • the counter argument may be "If that's how we're to treat it, why not call it 5.9.6?"

Nicholas:

  • and if everyone does that, it's an arms race
  • if no one tests it, we can't catch these things
  • we could have caught them six months ago if someone just tried it

Richard:

  • might there be some internal inconsistency and misunderstandings?
  • are they consistent or inconsistent?

Patrick:

  • you can't get it right so that everyone understands what's going on
  • you can get it wrong
  • and this text is wrong; people will read that 5.10.0 is a development release

Richard:

  • and there's "latest is 5.10" versus "latest is 5.8.8"

Allison:

  • call 5.8.8 "previous stable release"
  • say that 5.9.5 will become 5.11
  • otherwise they read that 5.10 is the new development release

Patrick:

  • maybe get rid of the word "latest"
  • it's not helpful
  • maybe recommend 5.8.8 for production environments
  • say that 5.10 is a stable release
  • development releases start at 5.11

Richard:

  • who has commit access to these sites to fix it?

Allison:

  • Jarkko, maybe Andreas?

Nicholas:

  • Jarkko runs the CPAN front page
  • dev.perl.org is Ask and Robert

Richard:

  • perhaps I should rewrite all of this
  • contact Jarkko with the revision and ask him to consider using it

Nicholas:

  • there was a question about smart match when one side or the other is a blessed reference
  • I think it ignores the fact that it's an object
  • it's probably easier to write down and ask Larry that way

Jerry:

  • what does perl6 need before we can welcome users to hack on it?

Patrick:

  • anyone's welcome to hack on it already
  • I'd like people to submit patches in Perl 6 code instead of PIR wherever possible
  • but we don't have an example of doing that
  • we need an example we can point to
  • that was going to be my task for yesterday
  • I have to decide how I want to integrate the code written in Perl 6 to the compiler
  • is it code loaded or compiled into PBC?
  • where should the code go?
  • we may refactor the directory structure of the compiler one more time
  • the mixture of PIR and Perl 6 seems to confuse people
  • just want to encourage people to write library functions in Perl 6
  • that's what we need an example of

Jerry:

  • people ask certain questions on one channel or another
  • should we set up a different #perl6 channel
  • should we send people to #perl6 on freenode?
  • where should they go?

Patrick:

  • I find it hard to switch between the two channels
  • trying to keep up with them, I spend most time answering questions and have to shut off the windows to get work done
  • so I spend more time on #parrot
  • I can hang out on #perl6, but I feel like I'm not too productive when I do

Jerry:

  • some people have the perception that #perl6 is about Pugs
  • should that perception change?

Patrick:

  • probably
  • where do people hang out for Perl 5 questions?

Jerry:

  • #perl on freenode answers questions
  • #perl on perl.org...

c:

  • ... offers abuse

Nicholas:

  • #london-pm is good about answering questions
  • but you have to know where it is

Allison:

  • #perlhelp on perl.org is good
  • there a #perl6 on perl.org, with three people in it

Jerry:

  • just something to think about

Patrick:

  • if you go to the Perl 6 wiki, everything pointed to Pugs
  • as people read the journal posts, they find the wiki and get pointed to Pugs
  • I cleaned up some of that
  • but I don't know where all of the questions and confusions are
  • I'm trying to get more people onto the wiki to clean up their questions
  • just get them to add their questions there
  • it's another source of confusion for historical reasons
  • we need to break the synonymity of Perl 6 and Pugs
  • it'll need fixing over time

Larry:

  • not entirely sure that calling your implementation perl6 is conduicive to clarity too

Patrick:

  • I agree and think about that sometimes

Larry:

  • I'd like to see that changed

c:

  • people really do want a perl6 binary though

Larry:

  • that doesn't have to be the name of the implementation though
  • there should be a binary named perl6
  • but it should be retargetable
  • there should be consistency of invocation though
  • we haven't talked about that yet
  • but what chapter is perlrun?
  • I'll think about that this week