This Week in Perl 6, Feb. 1 - 8, 2005
Welcome to yet another summary in which I will undoubtedly confuse two homophones – probably more than a few this week as I am a little tired. But perhaps the alien on my window or the vampire on my monitor will help straighten it all out.
Perl 6 Language
Luke Palmer’s thread about auto-threading seems to have wound down without much resolution, or at the very least without a syntax that I like.
Autrijus Tang introduced Featherweight Perl 6, a side-effect-free subset of Perl 6. FP6 is the first step on a journey for Pugs to conquer the world.
Value Types vs. Implementation Types
Autrijus Tang became confused by types in his work on FP6. He asked some questions about Types on perl6-language, which told him to go to perl6-compiler. perl6-compiler told him that he should really be on perl6-language. Sorry for the runaround. The proper place for questions about language semantics is perl6-language, where he originally posted. Eventually all of that settled and someone even answered his question.
Ovid asked how logic programming in Perl 6 would look. No answer came, but I suppose I can pick the low hanging fruit: as a limiting case you could always back out the entire Perl 6 grammar and insert that of Prolog.
Autrijus Tang asked what sort of number tower Perl 6 had. He was planning (and implemented) that of Scheme until he received an answer otherwise.
Autrijus Tang asked a few questions about operators in specific contexts. He received a few answers, although I don’t think they covered everything.
Juerd wants to be able to give his script a general signature that magically parses command-line arguments. Many people thought it was a cool idea that should go in a module rather than in the core. This led to talk about creating a signature object to pass to this module so that it doesn’t need macros. Sounds good to me.
Juerd found a nit to pick. There were no comments about whether to pick the first or second option, though…
Nicholas Clark wondered about adding a little operator precedence to regexes so that people could avoid a few common problems. It sounds like a good idea to me.
Juerd wondered if he could mix
==> in a sane way. The answer appears to be no. Once you bring in
==> you should stick with it.
Autrijus Tang wondered how junctions and chained comparators work. He found that under certain semantics, the answers can be very troubling. Larry agreed with Autrijus about the need to avoid unintuitive semantics.
Perl 6 Compiler
Autrijus Tang released Pugs 6.0.0 after six days of creation. It has many cool features, whether a testament to the power of Haskell or the caffeine intake of Autrijus. (Although to be fair he skipped more version numbers then Java did in its jump to 5.0.)
Bernhard Schmalhofer fixed a problem where gdbmhash could make
Configure produce a warning. Leo applied it.
Sam and Leo worked out the correct way to create NCI methods for Python. Leo ended by proposing a table to assist Parrot based on the current language, but no answer came for that idea.
Bernhard Schmalhofer cleaned up some of the makefiles and configure system. Leo applied the patch.
François Perrad provided a patch making the
ParrotIOLayer* const in the API. Leo applied it, but Melvin warned that while this may be safe now, the API intended to allow mutability. I think for the moment it is still in though.
Ron Blaschke helped Parrot back onto its feet in the Windows world.
Ian Joyce wondered what would happen if
Parrot_load_bytecode failed. The answer: an exception.
Matt Diephouse found it annoying that reading past EOF gave an unhelpful error message. Leo fixed it.
Will Coleda found a build problem for Parrot on FreeBSD. Adriano Ferreira provided a workaround, but the build system needs to be smarter, too. On a side note, I want a picture of the BSD daemon (pitchfork included) with a pirate hat, an eye patch, and a parrot on its shoulder.
There was some confusion about what does and does not require
gmake on FreeBSD. IMCC does not. ICU does. Fortunately, Dan’s string stuff will make ICU optional and Parrot won’t require it.
Jeff Horwitz noticed that
Parrot_locate_runtime_file could segfault when playing with an absolute path. He put some work in to fix it.
Bernhard Schmalhofer fixed a failing benchmark test that just had slightly wrong output expectations. chromatic (whose uncapitalized name does not bother me) applied the patch.
Ron Blaschke asked if there were plans to move Parrot to SVN. Many argued in favor; few argued against. No word from the powers-that-be.
Will Coleda wondered if the time for Parrot 0.1.2 was growing close. Leo pointed out some things that need fixes. Honestly, the real impediment is that we do not yet have a cool code name. I suggest kiwi, because everyone knows they really want to be Parrots.
Ron Blaschke was surprised when an operation quietly turned an Undef into an array. Leo explained to him that this set of semantics was known and expected.
Andy Dougherty noticed that Parrot was failing some tests on Solaris. He tried to provide enough info for people to help him, but no one did.
Jeff Dik posted a patch that worked around a problem on Linux PPC. chromatic pointed out that there was a more correct patch already in RT. Jeff Dik slapped himself on the forehead and reminded himself to check RT first.
The Usual Footer
Posting via the Google Groups interface does not work. To post to any of these mailing lists please subscribe by sending email to . If you find these summaries useful or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl. You might also like to send feedback to
Something wrong with this article? Help us out by opening an issue or pull request on GitHub