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 http://www.perl6.org/

Perl 6 Summary for 2004-11-15 through 2004-11-22

All~

Welcome to yet another summary. Although Aliya is present for this summary, I think the unnamed gecko with its tongue out will be the one who is helping to bring it to you, aided of course by Nicola Conte and Massive Attack. Without too much further ado, I give you Perl 6 Language.

Perl 6 Language

return values from a substitution

Nicholas Clark wondered what kind of return value the s/// operator would return. Larry provided the answer, a match object that does wicked smart things based on context (Boston is getting to me).

groups-beta.google.com&_doneTitle=Back&&d#16682c343b53d47b

Deep Operators

Matthew Walton wondered about deep operators and return types. No answer yet, but it is still a little early to call in the awesome forces of Warnock.

groups-beta.google.com&_doneTitle=Back&&d#5f2fea0de12b17ba

Perl 6 Compiler

The race between google and the compiler is over, and google loses. badly. While, alas, I do not get a pretty interface, you all get links from www.nntp.perl.org. Plus you get a nifty infant grammar engine to torture.

Parrot Grammar Engine

Patrick R. Michaud (for ever after known as Patrick) released a first version of the Perl 6 Grammar Engine (P6GE). Some time later, he renamed it to the Parrot Grammar Engine, as it will by standard in Parrot and PGE sounds better. He asked for people to poke and prod it. Many people did with quite some glee. Some work has been done adding it to the Parrot build and making it uses Parrot's configure/make system. As well as some cross platform cleanups. Patrick also put out a request for tests and explained the basic framework already in place. He also explained his short term plans.

www.nntp.perl.org -- initial release

www.nntp.perl.org -- cross platform happiness

www.nntp.perl.org -- test explanation

www.nntp.perl.org -- plans

www.nntp.perl.org -- the great renaming

Synopses and Apocalypses

Larry has managed to persuade dev.perl.org to host the latest and most up to date versions of the synopses. Consider the former link deprecated. Larry also mentioned that this should probably wait a little while before it hits slashdot. Dan put a desperate plea not to also, as "I feel obligated to actually *read* the comments on parrot and perl 6 stories on slashdot, at 0".

www.nntp.perl.org

Parrot

Having fought my way through the lack of google, I can now return to its calm warm tones and convenient threading.

RT Data Extraction

Will Coleda pointed out that he has the mystical power to extract and summarize data from RT automatically. Then he asked for suggestions about how to use this power for good or for awesome.

groups-beta.google.com&_doneTitle=Back&&d#db820cd0741489d6 -- the request

groups-beta.google.com&_doneTitle=Back&&d#3c7d5b73e40733a3 -- for awesome

Locating Shared Libraries

Adam Warner has some trouble locating shared libraries on Debian. Leo pointed out that Debian was apparently naming these libraries funny things. The he added support for symlinks and asked Adam to provide the appropriate symlinks.

groups-beta.google.com&_doneTitle=Back&&d#425394eb301d0f53

double vs float

Adam Warner was playing around with the Leibniz summation for PI example. But he could not get it to do more precision than 3.1431591. It turns out that the print opcode was at fault and that sprintf worked better. In fact it allows you to print more precision than you actually have. Ain't life in the floating point world a pain. We should all use integers where PI is exactly 3.

groups-beta.google.com&_doneTitle=Back&&d#fb33c37651577303

AIX PPC JIT

The on going thread of three three letter acronyms seems to have finally run its course. Ending in a climactic upgrade to perl 5.8.5.

groups-beta.google.com&_doneTitle=Back&&d#df893a6e259a2297

New Calling Scheme Proposal

Leo posted a new calling scheme proposal. Dan stomped on hit hard, then he posted an updated version of PPD03 (calling convenctions). Some time was spent fleshing out every little corner of the new doc.

groups-beta.google.com&_doneTitle=Back&&d#9ca263b1150dddb4

Parrot BASIC and perl.org blacklists

Joshua Gatcomb kindly acted as a mediary between the list and Clinton A. Pierce. Apprently Clinton's domain and ISP have been blacklisted by perl.org. He would be willing to resume work on it, but he would like help and/or to be un-blacklisted. No real answer to Clinton's troubles. On a side note, my old email provider, www.softhome.net, also occasionally gets blacklisted by perl.org (it seemed to go in fits and starts).

groups-beta.google.com&_doneTitle=Back&&d#db9d6eba0b3a5888

CVS access for parakeet

Michel Pelletier was wondering if he could get CVS access to the parakeet language directory now that he has a perl.org username (michel). Dan said that he had forgotten to mention that he had put in a request, and he would likely forget to mention when the request went through.

groups-beta.google.com&_doneTitle=Back&&d#7a5de4fbd2397db0

return with return continuation

In the confusion of what not to change and what to change, the op to return to the caller by invoking the current return continuation got lost in the shuffle. After sorting out the fact that Dan wanted it to go in. Leo added it. It was named returncc for lack of a better name.

groups-beta.google.com&_doneTitle=Back&&d#5bef058785ed5821

Parakeet broken

Jeff Horwitz noted that Parakeet did not quite work. Leo pointed out that parrot had out flown parakeet and it needed to catch up with the new eval changes.

groups-beta.google.com&_doneTitle=Back&&d#9f3b821029ed9df5

deprecation of P0, P1, P2

Leo sent a warning to the list that, as per PDD03, access to the current continuation and sub should only come from the interpinfo ops. Usage of P0 and P1 for these things is officially deprecated and soon to be discontinued. Also, P2 current object came along for the ride later, which caused troubles with imcc's self macro. Later, he removed the deprecated things.

groups-beta.google.com&_doneTitle=Back&&d#ffc425b374a66714 -- initial warning

groups-beta.google.com&_doneTitle=Back&&d#59f9a31a707a9d98 -- self stuff

groups-beta.google.com&_doneTitle=Back&&d#ada41b9e8b59e4a5 -- updated warning

groups-beta.google.com&_doneTitle=Back&&d#927465beec995d2b -- the removal

main is just a sub

Leo has coerced main into looking and acting exactly like any other sub. Consistency is nice like that.

groups-beta.google.com&_doneTitle=Back&&d#0d84f659bee88d63

Continuations, Basic Blocks, and Register Allocation

The thread of the week last week continued strong into early this week. Slowly but steadily misconceptions of certain summarizers who would like to remain anonymous got cleared up. Also, later in the week, Bill Coffman provided a summary of the problems and ideas thus far. We all eagerly await the resolution.

groups-beta.google.com&_doneTitle=Back&&d#8147c37d8b77e3f1 -- the monster thread itself

groups-beta.google.com&_doneTitle=Back&&d#c57b4637509a41ab -- Bill's summary

m4 0.0.10

To keep up with the aforementioned eval changes, m4 got some improvements, thanks to Bernhard Schmalhofer.

groups-beta.google.com&_doneTitle=Back&&d#9c8f548f0a977d33

light-weight calling conventions

Dan, Leo, and Patrick had an interesting discussion about the speed of various calling conventions. While BSR/RET beats continuations, continuations with tailcall optimization beat BSR/RET; however, BSR/RET with tailcall optimization edges out continuations. In the end, the PGE will be written calling convention agnostic so as to provide a real world test for bench marking. Either way, fear the Big Sweaty Russian (ask Mike Z if you want to know ;-)

groups-beta.google.com&_doneTitle=Back&&d#061d548a63e5a8ab

NCI signature correction

Last week I incorrectly claimed that the 'd' signature allowed access to a raw buffer. I was wrong, it was 'b'. Thanks for the catch Bernhard.

groups-beta.google.com&_doneTitle=Back&&d#82c4dfd2ed75f878

void functions don't return things

Andy Dougherty noticed that matchrange.pmc was attempting to return something from a void function. He supplied a patch, but there seems to be no response...

groups-beta.google.com&_doneTitle=Back&&d#88f91d0ac877a959

perl6 --tree

Gerd Pokorra submitted a patch to fix a problem with perl6 --tree. Warnock applies.

groups-beta.google.com&_doneTitle=Back&&d#9fa6dd0682a92b4a

ResizableIntegerArray needs soda

Patrick requested that someone provide the wonderfully amazing ResizableIntegerArray pop. Once that is done, PGE should switch from using a PerlArray to a ResizableIntegerArray. Patches welcome.

groups-beta.google.com&_doneTitle=Back&&d#857121f11e1244ce -- pop request

groups-beta.google.com&_doneTitle=Back&&d#d84dbc4a84cb8713 -- conversion request

no perldoc => WARNING

James deBoer provided the previously requested patch for doing the right thing when there is no perldoc present. Leo applied it.

groups-beta.google.com&_doneTitle=Back&&d#a04c9502ca72fcfe

broken benchmarks

The great thing about breaking benchmarks is that if you do it right, you execution time goes from a big number to nearly nothing. It provides one hell of a speed up. Unfortunately, it also means they don't work. Alas, such is life. Fortunately Leo provided an explanation if not a fix.

groups-beta.google.com&_doneTitle=Back&&d#26d1d14770460af8

MMD with native types

Leo voiced his confusion about MMD_ADD_INT. When Leo is confused, I get worried.

groups-beta.google.com&_doneTitle=Back&&d#0216d5634ee64f80

Polymorphic Inline Caches

Leo posted some interesting stuff about PICs and provided some preliminary bench marks. He also provided a link to the article from which the idea was drawn.

groups-beta.google.com&_doneTitle=Back&&d#eb809033f38fdbed -- Leo's post

citeseer.ist.psu.edu -- the paper

OS X.2 failures

Klaas-Jan Stol noticed that pmc2c2.pl was failing on his 10.2 installation. He asked for help, but no responsed yet...

groups-beta.google.com&_doneTitle=Back&&d#9d390219a3e945e1

inconsistent opcode names

William Coleda noticed that we did not consistently use_underscores or pushwordstogether. Everyone agrees this is a problem, so we are probably just waiting on a brave soul who can make the necessary sweeping change. I think that underscores_won_out.

groups-beta.google.com&_doneTitle=Back&&d#7a0abf836375c5e9

Tcl supports lists

Will Coleda added basic list support to Tcl. Then he threatened to do more with it. I for one welcome our new list overlords.

groups-beta.google.com&_doneTitle=Back&&d#895267d6e8d76c38

Build problems on PPC Linux

chromatic (whose name google rudely capitalizes) had some trouble building parrot on PPC Linux. No resolution yet.

groups-beta.google.com&_doneTitle=Back&&d#20e082437de64106

new TODO items.

Will Coleda added some new todo items.

groups-beta.google.com&_doneTitle=Back&&d#61586fe7d92b2300 -- finish split opcode

groups-beta.google.com&_doneTitle=Back&&d#592968cb195126a5 -- remove perl dependancy on split

groups-beta.google.com&_doneTitle=Back&&d#665261420c73c6cd -- add split to Tcl

groups-beta.google.com&_doneTitle=Back&&d#fff910e14d0ed5c3 -- add \u support to Tcl

Intellectual Property

Tim Brunce asked how Parrot was handling IP concerning. Dan told him that we have lawyers working up "Real Paperwork" even as we speak. In the mean time, it is mostly an honor system.

groups-beta.google.com&_doneTitle=Back&&d#588e4325132ba1a0

1 - 2 == BOOM

Will Coleda found a bug in MMD. Leo took responsibility and submitted a fix.

groups-beta.google.com&_doneTitle=Back&&d#ea05fc69b1ada719

escaping strings

Patrick wondered if goes was sitting around that would properly escape a string into a nice clean form. The answer, yes, use Data::Escape.

groups-beta.google.com&_doneTitle=Back&&d#61582fd1a923fddf

bug in method calling with nonconst keys

Luke Palmer found this bug. Leo fixed it.

groups-beta.google.com&_doneTitle=Back&&d#fa9d4947a9da1b1b

underscores on subs

Luke Palmer wondered if subs still had to have _ before their names. Leo provided the answer: no, and the docs are out of date.

groups-beta.google.com&_doneTitle=Back&&d#ba8bfce95fc8d2d0

silent effect of opcodes

Leo noted that opcodes with silent effects need a little more special treament. This morphed into a conversation about the continuation troubles that have been haunting us all and exceptions too.

groups-beta.google.com&_doneTitle=Back&&d#6c103d914348a877

IMCC tracing, leaving subs

Will Coleda asked if it would be possible to indicate what routing we are returning to after a returncc opcode. Leo liked the idea and put in a quickl hack for it which neads cleanup.

groups-beta.google.com&_doneTitle=Back&&d#b9d23df7e1297092

Threads, events, and Win32 (oh my)

Gabe Schaffer continued to explore the problems and approaches to portable threading with Leo's help. Best of luck guys.

groups-beta.google.com&_doneTitle=Back&&d#1b05f83c0a1ae1b0

IMCC Register mapping.

Will Coleda noticed a possible optimization with register mapping. Leo said that it was not that simple, but it would be implemented at some point in the new register allocator.

groups-beta.google.com&_doneTitle=Back&&d#2df5df8dc25e1aec

Exceptions

Exceptions hurt my head. Especially Dan's description of them. Thus I will just leave you to read it for yourself, so your head can hurt too.

groups-beta.google.com&_doneTitle=Back&&d#e0a752ae55aca38a -- Dan's initial post

groups-beta.google.com&_doneTitle=Back&&d#3972c5d7e2e15d84 -- Will's troubles

missing Makefile dependencies

Leo noticed that the makefile is not quite right about it dependencies. This frequently recurs.

groups-beta.google.com&_doneTitle=Back&&d#79365a2b5bbd99b8

JITted vtables for sparc

Stephane Peiry provided some more JIT support for the sparc. Leo applied the patch.

groups-beta.google.com&_doneTitle=Back&&d#03f666b78d0f95f0

PGE namespaces and names

Will Coleda, Luke Palmer, Jerome Quelin, and Patrick all worked to clean up PGE to have its own namespace and consistent naming.

groups-beta.google.com&_doneTitle=Back&&d#cd3f45698e864138

The usual footer

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]

donate.perl-foundation.org -- The Perl Foundation dev.perl.org -- Perl 6 Development site planet.parrotcode.org -- Parrot Blog aggregator