This Week in Perl 6, April 12 - 19, 2005
All~
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.
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.
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 chr.
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 rx:P5<imsxg>/.../.
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.
Test::TAPYuval Kogman announced the release of two new modules to CPAN that provide Pugs smoke HTML.
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.
push, pop, shift, and
unshift on Infinite ListsStevan Little has been playing with push, pop,
shift, and 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.
cd
Issue in MakefileJonathan 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.
shift
OddityStevan 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.
-l/path/to/icuAndy 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.
${LD_OUT}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.
cmp
Op BugLeo found a bug in cmp_p_i_ic opcodes.
Nick Glencross provided a patch fixing an uninitialized variable in SDL. Leo applied the patch.
PerlScalar
Morph BugNicholas 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.
make cleanJerry 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.
bc Configure StepJerry 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.
.const
WeirdnessNick Glencross found some weirdness with .const in IMCC. Warnock
applies.
Bloves hoped for a pointer on PMC writing. Leo provided a helpful pointer.
&&
in Commands is Not Cross PlatformJens 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.
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.
in \s, <?ws>, <>Juerd wondered what sort of character classes matched nonbreaking spaces.
Larry replied that they did, but postulated a <bws> class
for breaking whitespace.
trim()
and words()Marcus Adair wondered about trim and words and if
they actually existed. It seems that trim will exist although
words might be <<$string>>.
<[]>
Ugly and Hard to TypeSome 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.
$*CWD
vs cwd() and chdir()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.
<[a-z]>
to Become <[a..z]>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.
temp VariablesAaron 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.
++
Evaluation OrderLam 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 print statements. Larry provided a different
technique.
Ingo Blechschmidt wondered what syntax to use for tying hashes. Larry began to muse aloud.
Posting via the Google Groups interface does not work. To post to any of
these mailing lists please subscribe by sending email to
perl6-internals-subscribe@perl.org,
perl6-language-subscribe@perl.org, or
perl6-compiler-subscribe@perl.org. 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
ubermatt@gmail.com.
Perl.com Compilation Copyright © 1998-2006 O'Reilly Media, Inc.