This Week in Perl 6, April 12 - 19, 2005
Sadly, a slip of the mouse caused me to delete a partially completed summary, so I am going to push ahead on the rewrite without a witty intro. Feel free to make one up for yourself involving stuffed animals, musicians, and dinner.
Perl 6 Compilers
Autrijus released Pugs 6.2.0, marking the first major milestone for Pugs. This includes most of the control flow primitives of Perl 6 and is a testament to the solid work that all of the “lambdacamels” have put in.
CGI.pm and Multibyte Characters
BÁRTHÁZI András had trouble encoding and decoding multibyte characters in CGI.pm. This led to a general discussion of how to avoid such characters in URLs as well as when to call
Matthew D. Swank wondered if he really needed an extra set of parens to call a function generator and its generated function simultaneously. Autrijus told him that yes he did as Perl 6 is not quite Haskell yet.
BÁRTHÁZI András wanted to use the
:i switch on P5 regexes. Autrijus implemented it, but Larry noticed that this introduced a flag ordering dependency. As a result, the new way to supply flags to a Perl 5 regex is
Marcus Adair wondered if there were rules of etiquette he should obey when writing examples for the Perl 6 Cookbook. In particular, should examples run and be only one file? Ovid suggested that one file was a good idea, but was open to contrary arguments.
Thomas Klausner announced that on June 9-10 in Vienna, Austria there would be a Hackathon featuring the collective might of Autrijus, Chip, Leo, and more. When that much brain power gets together only two things can happen: much hacking and much drinking.
BÁRTHÁZI András wanted to know if he could encode an illegal byte sequence in a string. Much discussion ensued, but Larry promised that it would be possible.
Yuval Kogman announced the release of two new modules to CPAN that provide Pugs smoke HTML.
- <a href=“http://nothingmuch.woobling.org/pugs_test_status/"Smoke ‘em if You Got ‘em
Roie Marianer noticed that Pugs was missing some quoting constructs. He implemented them. This led to discussion of interpolation and corner cases. As usual, Larry provided both answers and questions. Roie produced a patch which Autrijus applied.
Stevan Little found some bugs with passing a code block to a function in Pugs. Warnock applies.
unshift on Infinite Lists
Stevan Little has been playing with
unshift on infinite lists. He thinks he has found a bug, although maybe he just hasn’t let it run long enough. Larry provided answers regarding the correct semantics.
Jonathan Worthington noticed a Win32 issue in the Makefile. He can point to the offending line in the autogenerated Makefile, but that is not where the fix belongs. Warnock applies.
David Christensen provided a patch for hyperoperators. Unfortunately, character set transcodings ate his patch.
Stevan Little noticed that
shift did not act like
pop. Larry noted that the examples were not semantically valid, but even so, Pugs should not freeze.
Aaron Sherman managed to make Pugs segfault. Autrijus thinks someone might already have fixed it.
William Coleda provide the second of his patches to move
Perl*PMC out of the core. Leo applied it.
Jens Rieks reported a difficult-to-reproduce bug. This caused Leo to pine for having the SVN revision in the bug report. Brent “Dax” Royal-Gordon commented that this was a good idea. Jens Rieks offered to implement it.
Jerry Gay tried to get SDL working on Windows. There was some give and take, but in the end, it works.
Andy Dougherty provided a patch making Configure.pl provide a link flag to ICU headers if provided. Jens Rieks applied it.
Roger Hale noticed a small problem with parrotcode.org. Robert Spier fixed it.
François Perrad fixed a MinGW test failure. Leo applied the patch.
Andy Dougherty fixed an old bug with
LD_OUT having trailing space. Leo applied the patch.
Jerry Gay cleaned some warnings from the source tree. Leo applied most of the patch.
Philip Taylor fixed a small Win32 path issue. Leo applied the patch.
Leo found a bug in
Nick Glencross provided a patch fixing an uninitialized variable in SDL. Leo applied the patch.
Nicholas Clark found a bug in morph for
PerlScalar. Leo verified that it was a bug. Nick Glencross offered to fix it.
Leo threatened to continue with his plan to simplify infix methods. No one objected.
Nick Glencross wanted a warning for using unset variables in imcc. Leo pointed out that this was not as simple as one might like.
Jerry Gay provided a patch removing more files under
make clean in Win32. Warnock applies.
Nick Glencross provided a patch which fixes some typos in docs. chromatic applied it with a few extra tweaks.
BÁRTHÁZI András wondered about the general security mechanisms that Parrot would provide. Dan assured him that security would be a fundamental part of Parrot. He also provided a sketch of the Parrot security model which sparked some discussion.
Falls Huang reported a build failure on Debian-ARM. Leo provided a pointer in the right direction.
François Perrad notice that
make src/revision.c couldn’t handle .svn/entries. Jens Rieks fixed the problem.
Adam Preble put out a call for some general advice on understanding Parrots JIT. Leo provided some general advice.
Cory Spencer provide a patch changing
getattribute to throw a real exception. Jens applied the patch with a few tweaks.
Jerry Gay provided a patch to suppress stderr during the
bc configure step. There was some debate on how to make this cross platform. I don’t think there was a resolution.
Nick Glencross provided a patch fixing a few segfaults in string.c. Jens applied it.
Ron Blaschke added ICU to the linkage for Win32. Jens applied the patch.
Ron Blaschke updated the README.win32 document. chromatic applied the patch.
Our pumpking Leo has some big changes underway and asked someone else to man the pumps for a little while. Jens volunteered to be someone.
Dan has some very ugly generated code. It takes a LONG time to compile. Leo sped it up by giving Parrot more registers.
Nick Glencross found some weirdness with
.const in IMCC. Warnock applies.
Bloves hoped for a pointer on PMC writing. Leo provided a helpful pointer.
Jens noticed that
&& in commands causes problems on some platforms. Michael G. Schwern fixed it and Jens applied the patch.
Leo continued his slow but steady migration to a more MMD-like world.
Leo wants to have useful config information available at runtime. Steven Philip Schubiger offered to try.
Leo opened a ticket for removing some outdated files.
Steven Philip Schubiger provided a patch fixing some small spelling errors. He worried that perhaps he picked nits needlessly. I don’t think so, but Warnock applies.
François Perrad fixed a small mistake in the naming of icudt.lib. chromatic applied the patch.
Cory Spencer has succeed in making LISP run on Parrot and uncovered a few GC bugs in the process, impressing everyone.
Kevin Tew wondered about the state of Pyrate. Sam Ruby provided a general explanation.
Philip Taylor posted a few questions about Parrot for help with Carrot, his C to Parrot Compiler. Leo and Chip provided a few answers.
Perl 6 Language
Gerard Lim announced YAPC::NA with much information and useful links.
Yuval Kogman threw out the idea of using subscripts as objects. Larry worried that this would hurt speed a little too much.
Paul Seamons posted some examples involving local scopes and statement modifiers. Larry decided that only curlies will delimit scopes, so as not to surprise too many people.
Juerd posted a question from the p6cookbook asking about spaces v. tabs. Larry took a guess as to the context and pointed to A2 for info.
Juerd wondered what sort of character classes matched nonbreaking spaces. Larry replied that they did, but postulated a
<bws> class for breaking whitespace.
Marcus Adair wondered about
words and if they actually existed. It seems that
trim will exist although words might be
Some people are complaining that character classes are difficult to type. The design team considers this a feature as character classes do not handle internationalization well.
Marcus Adair wants an easy way to compare floats with a fudge factor. Larry seemed to feel that
~~ could use more DWIMery.
Michael G. Schwern wanted a simple tied variable interface to
$*CWD. This is apparently a sensitive topic. Much discussion ensued of changing directory in bizarre circumstances. It looks like Michael’s suggestion will not reach the core, although it looks like a fairly simple module.
Brad Bowman noticed an error in some examples involving junction precedence. Larry confirmed the error. Patrick R. Michaud fixed it.
Steven Philip Schubiger found a spelling error in A06. Patrick R. Michaud applied the patch.
Larry decided that the range operator in character classes should change to
... Much discussion ensued. I like it.
BÁRTHÁZI András wondered if he could mark variables as tainted. Luke Palmer showed him a way.
Aaron Sherman wants a way to re-declare variables without warnings. He suggested
temp. Larry suggested
ok to turn off a warning, but doesn’t think Aaron’s feature is really necessary. There’s no official ruling yet, I think.
David Christensen wants to use hyper slices as a convenient way of dealing with multidimensional data structures. Luke Palmer showed him how.
David Christensen wondered how hyperoperators know what to pad with when one side is not long enough. The answer appears to be slightly ill-defined magic, especially when considering subtraction or division.
Gaal Yahas wants to have an
alarm function that takes a double (for systems with sub-second timing promises). He also wants a version that takes a callback (possibly called
later). Warnock applied.
David Christensen wants junctions in subscripts to autothread. Luke Palmer commented that they might. I think they do.
Roie Marianer had a few questions about how interpolation and quote operators would work. Larry and Juerd provided some answers. Larry’s short version: “We pretend we’re a top-down parser even if we aren’t”.
David Christensen wants to use adverbs to supply exceptions to junctions. Luke Palmer told him that it doesn’t work that way.
Lam Fayland found an oddity in Pugs evaluation order for
++. Warnock applies.
Dave Whipp wants to use statement modifiers to restrict the scope for variables in his
Ingo Blechschmidt wondered what syntax to use for tying hashes. Larry began to muse aloud.
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
email@example.com. 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 firstname.lastname@example.org.
Something wrong with this article? Help us out by opening an issue or pull request on GitHub