This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit

Perl 6 Summary for 2005-04-12 through 2005-04-19


Sadly, a slip of the mouse cause 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

Pugs 6.2.0

Autrijus release 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 been putting in. and multi byte characters

B\xC1RTH\xC1ZI Andr\xE1s was having trouble encoding and decoding multi byte characters in This led to a general discussion of how to escape such characters in URLs as well as when to call chr . -- discussion -- more discussion

auto currying?

Matthew D Swank wondered if he really needed an extra set of parens to simultaneously call a function generator and its generated function. Autrijus told him that yes he did as Perl 6 is not quite Haskell yet.

case insensitive P5 regex

B\xC1RTH\xC1ZI Andr\xE1s 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/.../ >.

Cookbook Ettiquette

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.

Austrian Parrot/Pugs Hackathon

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.

encoding illegal byte sequences in strings

B\xC1RTH\xC1ZI Andr\xE1s 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 which provid Pugs smoke html. -- announcement -- smoke em if you got em

quoting constructs

Roie Marianer noticed that pugs was missing some quoting constructs and implemented them. This led to discussion of interoplation and corners cases. As usual Larry provided both answers and questions. Roie produced a patch which Autrijus applied. -- discussion -- useful pugs hacking pointer -- the patch

Code Block as Argument

Stevan Little found some bugs with passing a code block to a function in pugs. Warnock applies.

Push, Pop, Shift, and Unshift on Infinite Lists

Stevan 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 as to the correct semantics. -- shift unshift -- push pop

'cd' issue in Makefile

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 it should be fixed. Warnock applies.

hyperoperator tests

David Christensen provided a patch for hyperoperators. Unfortunately, character set transcodings ate his patch.

shift oddity

Stevan Little noticed that shift did not act like pop. Larry noted that the example were not semantically valid, but even so Pugs should not freeze.


Aaron Sherman managed to make Pugs segfault. Autrijus thinks it might already be fixed.


Dynamic Perl 2

William Coleda provide the second of his patched to move Perl*PMC out of the core. Leo applied it.

SVN revision in bug reports

jreiks (Jens?) 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.

Win32 SDL

Jerry Gay tried to get SDL working on Windows. There was some give and take, but in the end he got his wish.


Andy Dougherty provided a patch making provide a link flag to ICU headers if provided. Jens Rieks applied it.

svk and svn issues

Roger Hale noticed a small problem with Robert Spier fixed it.

nci.t failure under MinGW

Fran\xE7ois Perrad fixed a MinGW test failure. Leo applied the patch.

trailing space with ${LD_OUT}

Andy Dougherty fixed an old bug with LD_OUT having trailing space. Leo applied the patch.

Warnings cleaning

Jerry Gay cleaned some warnings from the source tree. Leo applied most of the patch.

=haed3 Win32 path knit

Philip Taylor fixed a small Win32 path issue. Leo applied the patch.

cmp op bug

Leo found a bug in <cmp>_p_i_ic opcodes.

SDL unitialized variable

Nick Glencross provided a patch fixing an unitialized variable in SDL. Leo applied the patch.

perlscalar morph bug

Nicholas Clark found a bug in morph for PerlScalar. Leo verified that it wasd a bug, and Nick Glencross offered to fix it.

infix method change

Leo threatened to continue with his plan to simplify infix methods. No one objected...

used before set warning?

Nick Glencross wanted a warning for using unset variables in imcc. Leo pointed out that this was not as simple as one might like.

remove temp files for Win32 make clean

Jerry Gay provided a patch removing more files under make clean in Win32. Warnock applies.

Fix typos

Nick Glencross provided a patch which fixes some typos in docs. chromatic applied it with a few extra tweaks.

Parrot Security

B\xC1RTH\xC1ZI Andr\xE1s wondered about the general security mechanisms that Parrot would provided. Dan assured him that security would be a fundamental part of Parrot. He also provided a sketch of the security model which sparked some discussion. -- sketch

debian arm failure

Falls Huang reported a build failure on Debian-arm. Leo provided a pointer in the write direction.

missing make target

Fran\xE7ois Perrad notice that `make src/revision.c` couldn't handle .svn/entries. Jens Rieks fixed the problem.

JIT generation help

Adam Preble put out a call for some general advice on understanding Parrots JIT. Leo provided some general dvice.

"Attibute not found" exception

Cory Spencer provide a patch changing getattribute to throw a real_exception. Jens applied the patch with a few tweaks.

stderr during 'bc' configure step

Jerry Gay provided a patch to suppress stderr during 'bc' configure step. There was some debate on how to make this cross platform. I don't think there was a resolution.

string.c segfault

Nick Glencross provided a patch fixing a few segfaults in string.c. Jens applied it.

MSWin32 ICU linkage

Ron Blaschke added ICU to the linkage for Win32. Jens applied the patch.

win32 readme updates

Ron Blaschke updated the README.win32 document. chromatic applied the patch. -- discussion before the patch

big changes afoot

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.

more registers make Dan's code less unhappy

Dan has some very ugly generated code. It takes a LONG time to compile. Leo sped it up by giving Parrot more registers.

.const weirdness

Nick Glencross found some weirness with .const in IMCC. Warnock applies.

PMC help

Bloves was hoping to get a pointer on PMC writing. Leo provided a helpful pointer.

"&&" in commands is not cross platform

Jens noticed that "&&" in commands cause problems on some platforms. Michael G Schwern fixed it, and Jens applied the patch.

MMD migration

Leo continued his slow but steady migration to a more MMD like world.

MMD 25 - multiply

make config info available at runtime

Leo wants to have useful config information available at runtime. Steven Philip Schubiger offered to try.

remove old files

Leo opened a ticket for removing some outdated files.

Small spelling errors

Steven Philip Schubiger provided a patch fixing some small spelling errors. He worried that perhaps he was needless picking nits. I don't think so, but Warnock applies.

Win32 ICU error

Fran\xE7ois Perrad fixed a small mistake in the naming of icudt.lib. chromatic applied the patch.

Drunken Parrot

Cory Spencer has succeed in making LISP run on Parrot and uncovered a few GC bugs in the process. Everyone was impressed.

Python on Parrot

Kevin Tew wondered what the state of pyrate was. Sam Ruby provided a general explanation.

C => Parrot Compiler

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

Yet Another Perl Conference, North America

Gerard Lim announced YAPC::NA with much information and useful links.

subscripts as objects

Yuval Kogman through out the idea of using subscripts as objects. Larry worried that this would hurt speed a little too much.

statement modifiers and scopes

Paul Seamons posted some examples involving local scopes and statement modifiers. Larry decided that only curlies would delimit scopes, so as not to surprise too many people.

whitespace in heredocs

Juerd posted a question from the p6cookbook asking about spaces vs tabs. Larry took a guess as to the context and pointed to A2 for info.

&nbsp; in \s, <?ws>, <>

Juerd wondered what sort of character classes matched nonbreaking spaces. Larry replied that they did, but possulated 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 all though words might be spelled \xAB$string\xBB.

<[]> ugly and hard to type

There was some complaining that character classes are difficult to type. This is considered a feature as character classes do not handle internaionalization well.

comparing floats with fudge

Marcus Adair wants an easy way to compare floats with a fudge factor. Larry seemed to feel that some DWIMery could be added to ~~ .

$*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 suggestions will not reach the core, although it looks like a fairly simple module...

Junction precedence error

Brad Bowman noticed an error in some examples involving junction precedence. Larry confirmed there error. Patrick R. Michaud fixed it.

spelling mistake in A06

Steven Philip Schubiger found a spelling error in A06. Patrick R. Michaud applied the patch.

<[a-z]> to become <[a..z]>

Larry decide that the range operator in character classes should change to .. . Much discussion ensued. I like it.

tainted variables

B\xC1RTH\xC1ZI Andr\xE1s wondered if he could mark variables as tainted. Luke Palmer showed him a way.

temp variables that can be redeclared

Aaron Sherman wants a way to redeclare variables without getting a warning. He suggested temp . Larry suggested ok to turn off a warning, but doesn't think Aaron's feature is really necessary. No official ruling yet (I think).

hyper slices

David Christensen wants to use hyper slices as a convenient way of dealing with multi dimensional data structures. Luke Palmer showed him how.

Hyper operator corner case

David Christensen wondered how hyperoperators would know what to pad with when one side is not long enough. The answer appears to be slightly ill defined magic. Especially where subtraction or division is concerned

fine granularity sleeping/events

Gaal Yahas wants to have an alarm function that takes a double (for systems with sub-second timing proises). He also wants a version that takes a callback (possibly called later). Warnock applies.

junctions in subscripts

David Christensen wants junctions in subscripts to autothread. Luke palmer commented that they might. I think they do...

quote operators and interpolation

Roie Marianer had a few questions about how interpolation and quote operators would work. Laryy and Juerd provided some answers. Larry's short version: "we pretend we're a top-down parser even if we aren't".

junctions with adverbs

David Christensen wants to use adverbs to supply exceptions to junctions. Luke Palmer told him it doesn't work that way.

++ evaluation order

lam Fayland found an oddity in pugs evaluation order for ++ . Warnock applies.

statement modifiers for setting variable

Dave Whipp wants to use statement modifiers to restrict the scope for variables in his print statements. Larry provided a different technique.

tie hashes

Ingo Blechschmidt wondered what syntax to use for tieing hashes. Larry began to muse alloud.

The usual footer

To post to any of these mailing lists please subscribe by sending email to <[email protected]>, <[email protected]>, or <[email protected]>. 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 [email protected] -- The Perl Foundation -- Perl 6 Development site -- Parrot Blog aggregator