The Perl 6 design team met by phone on 12 November 2008. Larry, Allison, Patrick, Jerry, Will, Nicholas, Jesse, and chromatic attended.
Allison:
- we have two sponsors now, BBC and ActiveState
- starting conversations with a few others
- it helps to have two already
- mainly focused on the IO milestone milestone
- will merge back in two stages
- stage one is getting the new IO system working
- you can use it as an object
- adds just one test file
- I can have all of the different architectures report any failures with that test file
- will merge in the bigger change later
- though it's a simpler change
- replace calls to the existing system with calls to the new system
- hope it'll be a smooth transition
- fixed up some calling conventions stuff last night for Andrew Whitworth
- some pieces weren't working for him
- committed a small patch to fix them, and explained it
Jerry:
- the first Parrot Developer Summit is this weekend
- for people who don't know about it, it's too late to attend
- there may be a dozen or so of us meeting
- intent is to hammer out a roadmap for 1.0
- lots of questions on the channel and mailing lists about when there will be Parrot 1.0
- good, I suppose
Patrick:
Jerry:
- they've given up asking about Perl 6
Jesse:
Jerry:
- I don't have an answer yet
- but our work this weekend will let us decide what we need to release 1.0
- also had a grant approved
- designing and implementing Perl 6 command line syntax
- already started the work
- researching other dynamic languages and compilers
- most languages have just grown their syntax over time
- it's kind of messy
- have put together some ideas
- discussed them with Larry
- expect that to continue, until I have a design document that I can send for review
- then I'll move on to implementation
- all laid out in the grant proposal on TPF's site
Jesse:
- expect me to harass you occasionally
Patrick:
- things are going well
- lots of additions to Rakudo this week
- I fixed the string semantics
- classes can override how objects report stringification
- Jonathan, Jerry, and I fixed Rakudo's container semantics
- it does references correctly
- fixed a lot of bugs and closed a lot of tickets
- Jonathan started and I finished getting pointy blocks to work on flow control statements other than
for
- waiting for answers on
repeat while
and repeat until
Larry:
Patrick:
- when one of us gets the answer, he should let the other one know
- completely refactored Rakudo's junctions
- worked on the assignment metaoperators, such as
+=
and *=
- work correctly on protoobjects
- I'm refactoring those now
- will cause regression in one test that doesn't work right anyway
- Rakudo is now over the 4500 passing test mark
- we should get quite a few more over the next week or so
- Jonathan and I will continue closing things out
- worked more on the design of lexicals
- continuing to update the document on my website
- need to figure out autoclose in my head
- Jonathan and I will hack on that this weekend
- I could use his expertise in Parrot internals
- also had a grant approved
Larry:
- went to the hackers conference this last weekend
- high point was teaching Don Knuth how to decode his Korean email
Jesse:
- I thought he had no email!
Larry:
- refactored the compile-time variables
- there are no version-specific ones remaining
- now
$?OS
, $?DISTRO
, and $?VM
variable
- generalized matching against pairs to call a method corresponding to the name on whatever the object is, matching against whatever the argument is
- sort of inside out as to what named arguments in
BUILD
routines do
- refactored the
:pair
-named methods
- they were kind of grungy anyway
- thinking about whether strings ought to have methods like
.r
and .w
and .x
- or whether you ought to coerce to some sort of File type
Patrick:
Larry:
- everyone does
- I just want to think it through
- decided that
.perl
isn't special to junctions
- if you use it on one, it autothreads
- if you stringify that junction, it produces a result as if you'd done
.perl
on the whole junction
- stringification on a junction produces Perl-style syntax
- if you smart match a hash against a pair pattern, it tests the key and the value for matching
- factoring out various amounts of boilerplate from the Perl 5 emitted code
- simplifying code
- fixed bugs with node wrapping
- confused people looking at ASTs
- chopped out TRE
- discovered that my stupid LTM emulation ran twice as fast as the TRE code
- that was eye-opening
- STD now recognizes
::T
as defining a valid type for later in the same scope
- did some work to set up the infrastructure for STD to handle lexical scopes
- nested pads
- should have declarations in the right scope
- part of the motivation
- besides better error handling
- set up a mechanism to define a prelude
- freeze the lexical environment for the prelude
- then slurp that up into STD
- mundane functions and operators will probably end up there
- have most of an implementation of a trie engine
- that'll replace my stupid LTM
- should evolve eventually into a full DFA
- almost works
- should run faster
- and cut down on the on-disk cache
- for various definitions of "should"
c:
- mostly fixing bugs
- trying to keep blockers from blocking people
- adding a little polish here and there to make people work better
- thinking about our release process post 1.0
- will talk about that this weekend
Will:
- spending most of my time deleting things from Parrot
- ripping out deprecated features
- everything that's in there, some goes back to 0.5
- but everything in there now we can rip out before the next release
- sad that I'll miss the summit this week
Nicholas:
- I'm the new grant manager for Dave Mitchell doing 5.10.1
- announced the end-of-life for 5.8.x
- surprised that no one told me I couldn't say that
- if the Parrot Foundation is capable of raising money from people, how come TPF isn't?
Allison:
- I tried to do something similar for TPF four years ago
- it was very uncomfortable for the Perl community
- lots of pushback
- they wanted guarantees that no company would have control over the development of Perl
c:
- no one has control over the development of Perl!
Allison:
- also the amount of money required for Perl 5 is much larger
- it's not about money for Parrot
- four memberships for Parrot is enough to push toward 1.0
- we're a small project
Jerry:
- have Perl 5 releases been sponsored before?
- seems like a good thing
Jesse:
- last week in China for the Beijing Perl Workshop
- it was a lovely workshop
- chatted with a lot of people about the state of Perl 6 and how they could get involved
- offered to make lots of introductions
- haven't taken anyone up on that yet
- the Perl problem in China is that they're having a hard time finding competent Perl hackers
- people are afraid to learn Perl because that'll make them unpalatable to the workforce
- universities only teach C
- people study on their own to learn C# and Java
- most of the hiring firms really want C# and Java from their developers
Patrick:
- in Rakudo, over the past week, I'm seeing lots of segfaults in different places
- suspect it might be something that Jonathan and I did
- have no clue where to start looking
- it shows up in the regression suites
- can point you to specific instances of things that fail
Will:
- I can help narrow it down to PIR if you have a specific test that fails
Patrick:
- they really float around
- showed up in the assignment tests this morning
- a couple of revisions later, they don't show up later
- only some of them does
-G
help
- the weird one this morning
- if I run it from Parrot with the command line, I get a segfault
- from the test harness, I don't
- that seems backwards
Allison:
- the test harness has more strict flags turned on
Patrick:
- at one time, it used a different runcore
c:
- if there's a short PIR test case, we may be able to do a binary search
Patrick:
- it's hard to give a short PIR case
- the segfault moves around so much