Andy Lester: January 2008 Archives
The Perl 6 design team met by phone on 23 January 2008. Larry, Allison, Patrick, Jerry, Will, Jesse, Nicholas, and chromatic attended.
Larry:
- just fudging things
- developing the
fudgepreprocessor and making sure it's in the right place such that it's usable by different implementations - hopefully in a platform-independent fashion
- today I just added another declaration to set the test count of the following construct
- been thinking about that for quite a while
- the usual spec damage
- things have been pretty hectic at work
- going to Japan in May for YAPC::Asia
Allison:
- when?
Jesse:
- the 15th through 17th
Larry:
- if you count the hackathon
Allison:
- launched the GC PDD
- had some helpful comments from chromatic
- back to implementing the PMC PDD
- the two big things left are roles and role composition and the automatic generation of the core PMC structs
- aside from that it's a lot of small cleanups
- we're also having interesting linking problems on Mac OS X
- GCC on Mac OS X has different assumptions about when to add libraries to the static lib
- you must explicitly include a library
- I finally found some documentation on why we have this difference between Linux GCC and Apple's GCC
c:
- did you find a fix?
Allison:
- I figured out how to make it pass
- I haven't figured out how to put the
.o files intopbc_to_exe - I think they're not getting stored in the config library
- that's what it needs to know to get
pbc_to_exeto work on the Mac
Jerry:
- working to switch the name "Perl 6" to "Rakudo" in the source and documentation
- made fudge work with Rakudo and am adding directives
- there's a lot more work to do there
- added more tests to Rakudo's
spectestmake target - it's a lot noisier
- but it will hopefully inspire us to clean that up
- applied a bunch of patches from various contributors
- we've had three or four contributors over the past week, which is great to see
- working on some Perl 6 rule syntax for PGE
- also working on a grammar for serialized PAST
- should let us read PAST in from the same or different implementations
- finally trying to get more Rakudo tests passing
Patrick:
- returned to Perl things over the weekend
- mostly helping others: answering questions, giving guidance
- not a lot of actual coding besides switching APL to use PCT instead of the old tools
- didn't feel like diving into Rakudo right away
- plan to write some reports this week, especially the Mozilla Foundation report
- then I'll review recent commits, especially to Rakudo
- I'll make comments on those
- will work on some of the infrastructure things
- improve the Parrot integration
- switch to Parrot's HLL features, especially its own namespace
- also need to do more review of tests and test suite things
Will:
- trying to keep an eye on the RT queue and apply some patches
- we're still getting patches for LOLCODE
- sjansen has patched that, and he's patching PCT as well
- seems like that's having the effect we hoped
- starting to think about next month's release
- we're shooting for 0.6.0
- is the Mac OS X issue just for 10.5?
Allison:
- 10.4.11, GCC 4.01, Intel
Will:
- hmm
- I'll talk to you more offline then
c:
- applied several patches
- fixed a couple of nasty bugs
- Andy and I are working on cleaning up Valgrind output
- fixing some warnings, hopefully they'll catch some dodgy memory uses which cause segfaults on other platforms
- oh, and deleted a big chunk of old object code
- plan to work on the PMC PDD plans; Allison gave me a nice list
Patrick:
-
make testin NQP regularly gets failures for me - looks like GC problems
- running with
-Gcleans that up - it's 32-bit Intel on Ubuntu
- seems consistent
- four tests fail regularly
- you should be able to reproduce it
c:
- okay, I'll poke at those and see what I can find
Nicholas:
- how's Damian doing?
Patrick:
- I've been communicating with him
- I get the impression he's busy, but he's around some
Latest design meeting minutes are up. I wish there was a summary in there of key interestingness, and what came out of the meeting. I'm glad to see the notes, but there's no analysis for the outsiders to really know what happened, what the meaning is.
Check it out! Rakudo Perl has classes with methods and attributes!
uniqua:~/parrot $ cat woot.pl
class Foo {
has $a;
method set {
$a = "w00t";
}
method get {
say $a;
}
}
my $x = Foo.new();
$x.set();
$x.get(); # prints w00t
uniqua:~/parrot $ ./perl6 woot.pl
w00t
They're not complete by any means, but it's a big step forward. Thanks, Jonathan! Details in his journal.
chromatic has been putting Valgrind to work lately, checking for memory leaks in Rakudo and Parrot. This is the kind of detective work I love to do myself.
If Perl 6 is a little daunting, take a smaller bite by reading one of Adriano Ferreira's Perl 6 microarticles. The index of articles is on the official Perl 6 wiki on the page called Perl 6 microarticles. As of now the list of articles is:
- Introduction to the articles
- Zip
- Stitching
- Repeat operators
- Coercion operators
- Comparisons part I
- Comparisons part II
- Boolean operators
- the Default operator
- Range operators
- Negated operators
- Conditional operator
- Cross operator
- Iterator operator
- Reduce operators
- Reduce operators II
- Mutating operators
- The pair constructor
- Junction operators
- Filetests
Aaron Trevana has started a page on the Perl 6 wiki called What Can I Do With Perl 6 Today?. He's created a list of projects that people have started with Perl 6, and gives ideas for what you can do when you think "I'd like to try Perl 6, but what should I do with it?
Patrick Michaud explains the newly discovered name for the Perl 6 on Parrot project.
We've finally come up with a name for the Perl 6 on Parrot compiler, it's now "Rakudo Perl", or just "Rakudo" for short. This name was suggested by Damian Conway -- he writes:
Some years ago, Con Wei Sensei introduced a new martial art: "The Way Of The Camel". Or, in Japanese: "Rakuda-do". This name quickly became abbreviated to "Rakudo", which happens to mean "paradise" in Japanese.
Perhaps "rakudo" would suit, since:
- "Of The Camel" clearly connotes Perl
- Perl on Parrot is definitely the Way
- The name meets Hugo's Obscurity-for-Search criterion (at least for non-Japanese-language searches)
- It's nevertheless a real word (in one language)
- It may help us steal back mindshare from Ruby in its home market
For the time being Rakudo will continue to live in the languages/perl6/ subdirectory of the Parrot repository, and we'll continue to build the bytecode and executable as perl6.pbc and perl6(.exe). My current expectation is that someday Rakudo will live in its own repository separate from Parrot, and we can decide then if any file renaming needs to take place.
So, we're now at the point where we can say that the term "Perl 6" strictly refers to a language specification, while terms such as "Pugs", "Rakudo", and "kp6" refer to implementations of Perl 6. Hopefully this will reduce some confusion.
Several people have also inquired about a release numbering scheme for Rakudo. My current position on this topic is to postpone any decision until we start making releases that are separate from Parrot releases. I think a postponement here is especially appropriate since we're still in the "rapid expansion phase" of the implementation. In the meantime, whenever we need to reference a specific version of Rakudo we can use either a specific date or a subversion revision number from the Parrot repository.
