This Fortnight in Perl 6, March 22 - April 3, 2005
by Matt Fowles
|
Pages: 1, 2, 3
Perl 6 Compiler
Pugs Test Failures
Will Coleda worriedly reported 115 failing subtests in Pugs. Stevan Little explained that this was normal for between releases and was really more of a TODO list than a problem.
Pugs Darcs Repo
Greg Buchholz noticed that the darcs repo for Pugs has trouble staying up to
date. Tupshin Harper suggested using darcs whatsnew --look-for-adds
--summary to find the offending files.
BEGIN
{} Time
Autrijus wondered when BEGIN should run. Markus Laire posted a
useful summary of when the various CAPITAL things should run. Larry confirmed
Autrijus' suspicion.
YAML Test Output
Nathan Gray wondered if he should change his tests log to YAML output. Stevan Little pointed him to Test::Harness::Straps, which can collect test output and transform it.
Semicolons in p6
Andrew Savige found some strange behavior with respect to statement separation in Pugs. He thought that perhaps semicolons had changed their status. They haven't.
Ugly Dog Meets Ugly Bird
Pugs r2^10 can compile p6 to imc which Parrot can run. I think I speak for everyone when I say "Wow. Nice work, Autrijus.".
String Interpolation and Various Special Variables
Andrew Savige noticed a couple of odd corner cases for string interpolation
in Pugs. This led to a discussion of which special variables (like
$!, $/, and $") will continue to
exist.
Code Coverage Metadata
Paul Johnson posted a list of requirements he would like to see satisfied so that he can easily generate Perl 6 coverage reports. Warnock applies.
Pugs Release
As is the fashion, Pugs went through two minor releases during this two week period: 6.0.13 and 6.0.14.
Text Editor Support for Perl 6
Darren Duncan suggested that it might be a good idea for people to begin
prepping their favorite text editors to handle Perl 6 syntax correctly. Why
stop at syntax? I know I want to be able to type :perl6do in
vim.
Makefile.PL
Darren Duncan noticed that most things in Pugs use
Perl 6, while Makefile.PL was still Perl 5. He suggested writing the
Makefile.PLs in various modules in Perl 6 also. He then began
work on a Pugs::Makemaker module.
Pugs to Become a Perl 6 -> Parrot AST Compiler
Autrijus explained that he was planning on steering Pugs toward becoming a Perl 6 -> Parrot compiler which would interpret code (when Parrot is not available) by mapping imc to Haskell.
Pugs Re-org
Stevan Little suggested rearranging the Pugs repository a bit. The end
result is that modules which don't run in Pugs (yet) should go in
modules/ while those which do should go in ext/.
YAPC::NA Pugs hack-a-thon
John Macdonald posted his plan for the YAPC::NA Pugs hack-a-thon. His
description of the location makes me want to take time off work to go.
split
Semantics
Stevan Little found a bug in Pugs' split. Autrijus fixed it,
but noted that he had not replicated the full, bizarre semantics of Perl 5
(which come from awk). Larry told him not to work too hard on it, as it would
probably work in Perl 6 through a separate function.
Statement Modifiers
A bug in Pugs' parsing led Autrijus to seek information from a higher authority. Larry explained the power of statement modifiers.
Parrot
Move
Perl Tests Out of pmc/pmc.t
Steven Schubiger volunteered to reorganize pmc/*.t last time. He
did it, and Leo applied the patches.
Areas of Focus
Chip, in a circumloquacious attempt to come up to speed, indirectly asked what design issues needed attention. Leo explained the CPS issues that bogged down Parrot of late.
Improving MinGW Docs
François Perrad provided a patch improving the documentation for building with MinGW. Leo applied part of it.
Moving
pmc2c2.pl or pmc2c.pl
Matt Diephouse opened an RT ticket for cleaning up the file system
(specifically pmc2c2?.pl).
The Learned Parrot
Christian Aperghis-Tramoni reported that he has had success using Parrot assembly as a teaching tool.
Performance and Parrot
Falcon posted a series of questions about Parrot in a fairly general sense. Unfortunately, because he posted it to Google Groups, Warnock applies.
First MMD call
Leo posted a first MMD call which uses an MMD PMC and a fair amount of hand-made calling conventions set up.
OpenBSD
atan2 Trouble
Steve Peters noticed that atan2 on OpenBSD is not quite
right.
API Change
Leo changed various packfile functions to take an Interp*
argument. This does change the embedding API, but it had to be done.
pmc2c2.pl Cleanup
Leo pointed out that pmc2c2.pl was not functioning correctly on all
platforms. He put out a call for interested parties. Matt Diephouse provided a
patch to clean up the internals of pmc2c2.pl a bit. Leo applied it.
Peter Sinnott returned a $ that got lost in the shuffle, and
chromatic applied it. Matt went on to add better comments.
README.win32
Update
Klaas-Jan Stol provided an update to the README.win32 directions.
Warnock applies.
SET_NON_ZERO_NULL
Chip wondered why Parrot had a SET_NON_ZERO_NULL macro and suggested
removing it. The answer was, of course, speed. On architectures with a zero null,
this can be a no-op allowing the use of calloc(). Otherwise it has
to do something.
PMC Constants
Leo added support for .const things to imc. Unfortunately, the
GC eats them so you can't use it yet.
Garbage Collection and Hash Creation
Cory Spencer's LISP implementation revealed a bug in the hash creation sequence. Leo fixed it.
MD5 Update
Nick Glencross provided an update to the MD5 library. Leo applied it.
Tcl Updates
Will Coleda has been updating Tcl. He moved the parser into a PMC. Then he tried to add octal and hex escapes only to discover missing transcodings. He also found missing hash functions, but Leo fixed that.
Logging IRC
Someone suggested that we start to log IRC. Chip suggested that this might not be cost effective as such logs are 99% dross and 1% value. He suggests instead that people paste the good part into emails for the list. I know that I, for one, would not volunteer to summarize IRC.
Segfault
Generating config.fpmc
chromatic (as his Linux PPC is wont to do) found a bug in the build. He fixed it, and Leo applied the patch.
Lazy, Lazy Steve
Leo added a first implementation of a Lazy PMC for Autrijus to play with.
Win32
make install
François Perrad provided a patch fixing MANIFEST.generated
for Win32. Warnock applies.
Parrot on Win32
Ron Blaschke spent some time fixing Parrot on Win32, extending it to provide a shared library.
mod_parrot
Jeff Horwitz released mod_parrot 0.2. It includes nifty features like the beginning of an interpreter pool.
C90 Cleanup
Peter Sinnott moved a few declarations further up. Leo applied the patch.

