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-07-05 through 2005-07-12


Welcome to another summary from the frog house. A house so green it can be seen from outerspace (according to google earth).

Perl 6 Compiler

Building Pugs Workaround

Sam Vilain posted a useful work around to the error "error: field `_crypt_struct' has incomplete type" which occurs on some systems. Fortunately, Salvador Ortiz Garcia found a fix.

Pugs, Pirate. Pirate, Pugs.

Autrijus began plotting with the Pirate folks. Thoughts include unifying PIL and PAST or possibly retargeting PIL to PAST. Perhaps the result should be a more nautical dog... maybe schipperke.

Implicit Invocants and Pain

Larry (as will be summarized later) ruled that ./method was gone. he further ruled that .method would pitch fits at either compile or run time if $_ =:= $?SELF was false. Autrijus found this quite difficult to implement. Talk continues, my instincts tell me that this too will pass, although Larry assures us that it is absolutely permanent for at least a week.


Key Question

Klass-Jan Stol found that using a assigning a floating point value to a key and then using it make parrot segfault. Warnock applies.

Parrot Copyrights

Allison Randal hinted that The Perl Foundation has almost finished hammering out some legal stuff and there will soon be sweeping changes throughout the repository addressing copyright issues.

Character Classes in Globs

Will Coleda noted that Tcl would pass more tests if PGE supported characters classes in globs. Patrick, unable to resist the siren call of passing tests, implemented it.

Amber for Parrot

Roger Browne announced that he had succeed in extracting viable DNA from a Parrot encased in amber since the Jurasic age. Either that or he release Amber version 0.2.2... not sure which.

Leo's Branch

Leo has created a branch in SVN (branches/leo-ctx5) of his work implementing the new calling conventions. This led to some discussion of how to deal with optional arguments.

Leo's Branch Meets mod_parrot

Jeff Horwitz posted some observations and troubles he was having with Leo's branch of new calling conventions. Leo warned that the branch was still young, but would gladly take test cases.

Leo's Branch Meets PGE

After the initial discussion of optional parameter, Patrick updated the leo_ctx5 branch of PGE to the new calling conventions. All tests pass.

Get onto the Bus

Matt Diephouse found a Bus Error when running languages/tcl/examples/bench.tcl. Warnock applies.

MinGW Patch Resurrection

Fran\xE7ois Perrad resurected a patch from mid June with a set of action items. Warnock applies.

Scared Parrots Like Scheme

Joh Lenz posted an announcement that he had an alpha version of Chicken (a Scheme to C compiler) backending to Parrot. Leo provided answers to some of his questions.

Bytecode vs PMCs

Matt Diephouse posted a list of questions about the place of PMCs. Some of the core tradeoffs include: maintability, portability, optimization, duplicate implementations, and security.

make svnclean

Leo pointed out that make svnclean got removed, but that he found it useful. Chip suggested that it be renamed make svnclobber, as it does more than just clean. Bug

Nicholas Clark found a bug in the shortcut to avoid writing a pmc dump file. Warnock applies.

Define "cache"

Nicholas Clark suggested that it was probably not wise to #define "cache". So they removed it.

Parrots Getting Smarter

Leo pointed out that at least one parrot understood the concept of zero, putting it some distance ahead of romans when it comes to math. Once the Parrots start to grow opposable thumbs, I will welcome our new Parrot overlords.

Leo's Branch Meets Exceptions

Leo posted two suggestions for how the new calling conventions could interact with Exceptions. Autrijus liked the one that unifies exception handlers with the rest of calls and returns.

Control Flow Graph Bugs

Curtis Rawls noted what he thought might be a bug in the compute_dominators function. Leo confirmed that it was likely a bug. Later he posted a note saying he was working on a new implementation for some of the CFG algorithms. He asked for a hand, but Warnock applied. Actually, I think I have looked at that code before. I would help be happy to take a look Curtis.

TODO: Steal Good Ideas from Dan

Will Coleda opened a ticket suggesting that we open tickets based on some of Dan's latest posts to Squaks of the Parrot. Remember: "talent immitates, but genius, genius steals".


Allison Randal wants to add Punie (a Perl 1 compiler) to svn. Response was positive.

Mobilizing PM groups

Will Coleda wondered if there had been any work mobilizing Perl Monger groups for the good of Parrot. Maybe I should finally look up the Cambridge or Boston PM group...

Perl 6 Language

As usual in p6l land, there are a couple really long threads. As usual in p6summarizer land, they will get short summaries. Odd how that happens.

Conflicting Autogenerated Accessors

Last week, Stevan Little wondered what would happen with conflicting autogenerated accessor names. Larry said they would carp as soon as they were discovered.

DBI v2

The first really long thread has to do with the next version of DBI. I am not really a database person. But apparently those who are have strong opinions.


The next really long thread has to do with the next version of Time::Local. I am not really a Time person. But apparently those who are have strong opinions.


Stevan Little and Larry Wall talked about submethods, their purpose, and their interaction with the meta model. I must say that I have only partially wrapped my head around metamodels at all.

SMD Considered Harmful?

Last week, Yuval Kogman conjectured that MMD should be the one true MD, as it allowed nifty extensibility. This week Stuart Cook offered a sort of compromise. I rather like Stuart's compromise.

Dependency Injection

Piers wants to be able to have classes that inject themselves in correctly at use time based on what is actually used. Larry commented, but one quote really caught my attention "Globals are bad only if you use them to hold non-global values". <off topic>There is an important lesson imbedded in that quote. We really should learn rules not to follow them blindly, but so that we understand the spirit behind them and respect that instead. Not that I have had screaming matches with any programmers who blindly eshew globals and goto's without understanding why... </off topic> That was more of a rant then just off topic. Oh well. Interface

Wolverian wondered what the seek interface would look like for handles. Larry likes the idea of it working entirely through opaque position objects using ` to specify units.

Perl6/Perl5 ~ 82%

Michael Hendricks noticed that (accrding to Text::TypingEffort). Perl 6 requires 18% less effort than Perl 5. He suggests that this is a bad thing for the communities wasteline. I conjecture that perl developers will use the extra time they save for activities like running and canoeing and as a result will paradoxically lose weight from expending less effort at work.

Creating Value Types

Ingo Blechschmidt wondered how to create a value type. Luke Palmer suggested using an is value trait. He then went on to speculate about mutating value traits and COW semantics. Larry though that perhaps an is copy trait was called for. Oooh, a preposition at the end of a sentance, makes me want to occasionally split infinitives...

OO .isa

Ingo Blechschmidt viciously lied when claiming to post a "quick" isa question. This quickly went the way of the meta object. I think I mentioned my take on those earlier (powerful, but ow).

Method Call on Invocant

The last really long thread has to do with the next chapter in the method call on self saga. I am a bit of a method call on self person. And apparently those who are have strong opinions. Woth note this time is that Larry updated the current state of the world. Now ./method is gone, and .method only works when $_ =:= $?SELF .

Use and Require Question

Ingo Blechschmidt wondered what use and require actually do. Gall Yahas suggested they return the last thing in the used/required file. Larry aggreed and held that they would also return the same thing. He also warned that %INC would probably work differently in Perl6.

User Defined Infix

Autrijus wondered if an method infix:<=== > would eed to be marked as export for a script that uses it to get the method. Larry explained that the method infix:<=== > would be available by name, but would have to be marked as export for the syntactic sugar of A === B to work.

Hackathon Notes

Autrijus posted a link to his hackathon notes. This spawned several threads. David Storrs tried to convince people to change subject lines, with limited success. Much of the discussion focused on MMD and how confusing it was. Damian Conway posted his set of 3 rules that would prevent AIs from harming humans and his set of 8 rules that would prevent MMDs from harming programmers. Proving that MMDs are almost 3 times more dangerous than AIs.

Raw Binary Data

David Formosa wanted to play with raw binary data in Perl 6. I try and avoid raw things except sushi. Larry suggested that this would just be a string whose maximum abstraction level was set to bytes.

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