This Week in Perl 6, Feb. 1 - 8, 2005
All~
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
Auto-threading Generalization
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.
Featherweight Perl 6
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.
Logic Programming in Perl 6
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.
The Leaning Tower of Numbers
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.
Some Quick Questions
Autrijus Tang asked a few questions about operators in specific contexts. He received a few answers, although I don’t think they covered everything.
Getopt::Signature
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.
S03 Inconsistency
Juerd found a nit to pick. There were no comments about whether to pick the first or second option, though…
Regex Precedence
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.
Pipedreams
Juerd wondered if he could mix =
and ==>
in a sane way. The answer appears to be no. Once you bring in ==>
you should stick with it.
4 < $x < 2 == true
?!?
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
Pugs 6.0.0
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.)
Parrot
Gdbmhash Warning
Bernhard Schmalhofer fixed a problem where gdbmhash could make Configure
produce a warning. Leo applied it.
PyNCI
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.
Makefile Cleanup
Bernhard Schmalhofer cleaned up some of the makefiles and configure system. Leo applied the patch.
ParrotIOLayer*
Const or Not
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.
Win32 Parrot
Ron Blaschke helped Parrot back onto its feet in the Windows world.
Parrot_load_bytecode
Failure?
Ian Joyce wondered what would happen if Parrot_load_bytecode
failed. The answer: an exception.
Reading Past EOF
Matt Diephouse found it annoying that reading past EOF gave an unhelpful error message. Leo fixed it.
FreeBSD Build Problems
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.
Gmake
Requirement?
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.
Locate_runtime_file
with Absolute Paths
Jeff Horwitz noticed that Parrot_locate_runtime_file
could segfault when playing with an absolute path. He put some work in to fix it.
Expected vpm.imc Output Error
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.
Subversive Parrot
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.
Parrot 0.1.2?
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.
Making an Array Out of an Undef
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.
Solaris Issues
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.
Linux PPC Issues
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
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub