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 2006-01-10 though 2006-01-24


Welcome to another fortnight's summary. This summary marks a return to a Tuesday schedule for summaries. Hopefully this will help me get summaries to you on time. Oddly appropriate that I just started reading Don Quixote...

Perl 6 Compiler

Either this list followed its typical pattern of doing most of its work off list, or google's indexing of it broke. I am guess the former and continuing on blindly.

Perl 6 Internals

Unescapable Single Quotes in Strings

Matt Diephouse discovered that he could not escape single quotes within strings. This saddened him so much he open an RT ticket.

genfile() Interpolation Syntax

Joshua Hoblitt changed the interpolation syntax for Parrot::Configure::Step::genfile() from ${foo} to @[email protected] .

getopt_obt.t Failures

Joshua Hoblitt posted some failures in t/library/getopt_obj.t on amd64/linux.

Improved Smoke Layout

Joshua Hoblitt opened a TODO for the smoke server's layout. Currently it is a bit busy and confusing.

Deprecated PMCs

Leo deprecated FloatvalArray and StringArray PMC in favor of the (Fixed|Resizable)*Array PMCs, which are 20% more awesome.*

*awesomeness directly related to their original author

pdb.exe build broken

Jerry Gay noted that pdb.exe was failing to link on Windows.

Interpolation Synatx Updates

Greg Bacon noticed a few ${foo} interpolations left over from the aforementioned update. Nick Glencross improved upon Greg's core idea. Joshua Hoblitt verified the fixes.

Attack of the Clones

Klaas-Jan Stol was having trouble making his LuaNil PMC clone method. Leo explained that it was his fault, and he solved it.

LuaNil Morphing

Klaas-Jan Stol proffered a patch which changed LuaNil from a singleton and made it morph to other Lua types when asked. Warnock applies.

LuaTable Loving

Klaas-Jan Stol also provided a patch making LuaTable more correct. Warnock applies.

Lua Fixes

Jonathan Worthington updated Lua PMCs to no longer use the deprecated Parrot_PMC_typenum.

Tcl on Darwin

Joshua Isom noticed that Tcl was no longer building on Darwin. Jonathan Worthington updated Tcl PMCs to no longer use the deprecated Parrot_PMC_typenum. Joshua noted that this fixed one problem but left another one.

No More .def Files

Jonathan Worthington completed the work that allows Parrot to build on Win32 without a .def file. Thanks, Jonathan.

Moving argv to ResizableStringArray

Joshua Isom (after Leo's earlier help) offered a patch moving argv from an SArray to a ResizableStringArray. Warnock applies. -- inital version -- final version

Pod File Extensions

Joshua Isom noted that many documents were pod documents, but did not have .pod extensions. Joshua Hoblitt fixed it.

Switch Tcl to Getopt/Obj.pir

Bernhard Schmalhofer suggested that Tcl could be moved to Getopt/Obj.pir from Getopt/Long.pir, which clears the path for remove of Getopt/Long.pir. Will Coleda gave the go ahead for switching it.

clear_eh restrictions

Bob Rogers posted an update to his patch which restricts clear_eh to the current context only. Warnock applies.

Clean Up After Yourself

Bob Rogers provided a patch which makes examples/pir/io.pir clean up its temp file. Warnock applies.

Build Failure on FreeBSD 5.4

Joshua Isom noted that the build was failing on FreeBSD 5.4. Apparently the cgp core was a little hard on their gcc. Leo disabled the portion it was breaking on.

get_param Questions

Klaas-Jan Stol had a few questions about get_param usage in PIR. Bob Rogers and Leo provided answers.

find_global Opcode Change

Leo updated find_global and get_global to return a Null PMC on failure when exceptions are disabled.

Build Step Parameter Passing

Joshua Hoblitt added support for passing parameters to build steps in the build system.

Automatic Closure Creation

Audrey found it cumbersome to need to explicitly create new closures for package-scoped subroutines. Leo made it automatic.

YAML::Emitter::Syck wanted

Will Coleda opened a todo for a YAML::Emitter::Syck that functions similarly to Data::Dumper.

PMC Introspection

Will Coleda wants an API for introspecting PMCs from PASM.

FrOSCon Call For Papers

Marcus Thiesen announced that the first Free and Open Source Conference is looking for papers in both English and German.


Bernhard Schmalhofer posted a brief look at what has already been done with adding support of libsyck and left the door open to anyone who wished to pick up the torch. Warnock applies.

Parrot Link Issues

Klaas-Jan Stol had problems linking parrot. Larry managed to track the problem down to an old libparrot in /usr/local/lib being picked up prematurely.

Parrot_Context Unused Field

Bob Rogers posted a patch which improved the name of an unused field in Parrot_Context. Leo applied the patch. Matt Fowles wondered why leave the unused pointer in at all. Leo explained that it was need for mark_register_stack to work out correctly, although another pointer could be moved over it to save those 4 bytes (or even 8 on 64 bit platforms!).

gunie.g Question

Chris Dolan was curious why print was an expression and not a statement in the punie grammar. Andrew Rodland explained that print was an expression because it return a value (success or failure). is Obsolete

Bernhard Schmalhofer noticed that tools/dev/ does the same thing as parrotbug and could thus be removed. Joshua Hoblitt agreed.

Parrot::Config Contains Invalid Info

  Jerry Gay noticed that his Parrot::Config was being created with invalid data.  Joshua Hoblitt offered to clean up one problem and asked for takers on another.

Rename src/classes to src/pmc

Bernhard Schmalhofer proposed and performed, after favorable reception of his proposal, a migration from directories name src/classes to src/pmc.

Out of Date Comments

Brad Bowman noticed some comments refering to cache.* in pobj.h. He provided a patch to remove them. Warnock applies.

compute_dominance_frontiers Bug

Bob Rogers found a problem in compute_dominance_frontiers . Curtis Rawls suggested simply disabling the function as it was merely a precursor to SSA which was never finished.

Closure::mark Segfault

Bob Rogers found a fixed a segfault in Closure::mark. Leo applied the patch.

Parrot CPAN Bundle?

Jerry Gay suggested making a CPAN Bundle (or possibly several) for Parrot. Chip liked the idea of having one bundle, and thought that having several sub-bundles would be more effort than it might be worth.

Calling Conventions Details

Leo had a few questions about pdd03 (calling conventions). Chip provided clarifications.

PDD11 Bit Rot

Brad Bowman noticed a bit of rot in pdd11 and polished it up. Jerry Gay applied the patch.

Named Argument Passing

Leo proposed a way of passing named arguments in PIR. Response was favorable, and he implemented it. -- proposal -- implementation

LuaTables of Floats

Klaas-Jan Stol wondered how to use N values as keys. Leo suggested using Float PMCs and Matt Fowles warned of the danger of using floating point values where equality checks might be needed.

Argument Passing Bug

Bob Rogers found an issue with the :optional to :slurpy state transition in process_args, so he fixed it. Leo applied the patch.

Object Initialization Changes

Bob Rogers noticed some changes the semantics of object initialization. He sent a patch with more tests, but Warnock applies.

Assertion Failure in Life

Tim Bunce found an assertion failure in ncurses_life.pir. Leo fixed the problem.

ncurses files

Tim Bunce found several different ncurses files in runtime/parrot/library/ and asked which were generated from the others. Leo explained that ncurses.pasm was generated from ncurses.declarations, but that ncurses.pir was hand made. He suggested splitting them into to parts, one for libncurses and another for libform NCI functions.

Cygwin Build Failures

Greg Bacon was having build troubles on Cygwin. After much work, still no resolution.

HP-UX Alignment Issues

Nick Glencross found a failing assertion on HP-UX. Leo suggested disabling function pointer alignment on this system since it dist not appear to be working.

.const improvements

Fran\xE7ois Perrad noticed that .const was not working with LuaPMCs. Leo explained that a PMC had to implement new_from_string for .const to work. Klass-Jan Stol added support for it to LuaNumber.

method_util unused

Leo noticed method_util.c and .h. He also noticed that they were unused. Shortly he is going to remove them.

0.4.1 Build Erros on OSX

WangKe was having trouble building 0.4.1 on his shiny new OS X 10.4.3 Intel. I think he may have a completely untested combination of endianess and OS for us... Sadly he was posting to google groups and not the list. Perhaps some kind soul will help him.

Namespace Notes

Leo had some suggestions after reading pdd21 (namespaces). Matt Diephouse and Chip had some thoughts about it too.

Managed Pointers .Net Style

Jonathan Worthington was a little unsure of how to implement safe managed pointers for .Net on Parrot. (Perhaps I will call it P#) Chip provided useful suggestions for how he might proceed.

Ranges and Iteration

Dave Whipp brought a thread over which discusses different aspects of ranges including comparison, inclusion, and iteration.

Pattern Matching For Loops

Dave Whipp wondered if there was someway to make the for loop in Perl6 do some kind of pattern matching. Brad Bowman wondered about anonymous multis which sound interesting to me. -- original post -- more on anonymous multis

Array Holes

Luke Palmer wondered how array holes would be dealt with in Perl6. Larry posted his thoughts and musings.

closures capturing sub arguments

Audrey had a question about the semantics of nested subs which capture the argument of the outer sub. Larry felt that her approach was reasonable and sound.

Indeterminate Forms

Audrey wondered how a great number of operations like (0/0 and its ilk) were defined. Larry felt that boxed types should be consistent and unboxed types fast.

Split on Empty String

Gaal Yahas noticed that pugs and Perl 5 disagreed on the result of splitting an empty string. Larry sided with pugs in this case.

Short Circuiting Chained Comparisons

Joe Gottman wondered if chained comparisons would short circuit. Luke Palmer thought that they probably would.

Class Methods vs Instance Methods

Rob Kinyon posted his concerns about the ambiguity that was being introduced between class methods and instance methods. Matt Fowles also voiced concern. While some thoughts were published, no official word has emeged.

Perl 6's Bless

Stevan Little, who has a habit of hurting my brain, posted some concerns he has about bless. Much discussion ensued. When it veered of his intended topic, he tried again.

Symbolic References with twigils

Joshua Choi wondered how to create a symbolic reference with a twigil. Larry posted some thoughts.

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