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-01 through 2004-11-08

All~

Welcome to yet another summary, brought to you (once again) with the aid of the musical stylings of Dar Williams and Soul Coughing and a small stuffed elephant name Aliya. And, without further ado, I give you Perl 6 Language (whose traffic has picked up a little)...

Perl 6 Language

What was that anonymous thing?

Juerd wondered what things could be named and what anonymous. Larry provided the answer: Subtypes, Enums, Lists (Lazy and Eager), Grammars, and Packages, but then threatened to attack Juerd with hot grits.

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

updated Apocalypses and Synopses

Larry proved links to the current versions of the various Apocalypses and Synopses. Unfortunately he forgot to start a new thread with his message...

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

www.wall.org -- apocalypses www.wall.org -- synopses

suggested warning for overriding operators

Aaron Sherman wanted to receive a warning for defining things like multi sub *infix:+(...) {...}. But Larry reasoned the anyone who'd use the * there does not care for warnings.

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

Perl 6 Compiler

Last week, I bemoaned my lack of google (and thus links). But a couple kind souls pointed out that I could get links straight from the horses mouth: nntp.perl.org. All I can say is, ::shrug:: "Who knew that there was an internet outside of google?". Fortunately, I do not have to admit to its existence as there were no message this week.

Parrot Internals

she-bangs for none!!

Last week James deBoer offered a patch to remove all of the shebang lines from config/*.pl (after his initial patch to add them to all of them was turned away). Warnock applies.

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

Solaris 9 troubles

Christian Aperghis-Tramoni has some trouble whil trying to install on Solaris 9. Warnock applies.

more vtables

Leo wanted to add a finalize vtable entry (in addition to destroy, which is apparently use for free memory and not active resources). Jeff commented on the difficulties implicit in finalizing stuff, and the thread ran out of gas.

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

build dynclasses by default

Last week, Leo was stalling to here about success and failures before adding them to the default build. Brent 'Dax' Royal-Gordon and Sam Ruby both chimed in with success. And so they did.

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

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

register frame recycling

Leo added in some basic continuation recycling. Dan didn't like that it required the user to clone return continuations into full ones. Leo agreed, but felt that a returncc function would be needed first. I wondered why we needed this recycling and couldn't just let the DOD/GC do it for us. The answer: speed.

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

upcase binary strings

Dan wondered what should happen if you tried to play with the case of a binary encoded string. The concensus seems to be either throw an exception or nothing, depending on settings.

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

setref poorly named

Sam Ruby was initially confused by the strange behavior of setref. Leo told him that it was intended to set a reference inside a reference type and noted that classes needs a clean up. With the advent of dynclasses, this sounds like a job for some adventurous lurker...

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

tracebacks pmc vs ops

Leo wondered if we should have a PMC that could access the entire call chain and do whatever evil it wanted. Dan conjectured that this sort of thing was evil enough that ops might be well advised. Leo initially put some methods into the continuation to do this, but later though about putting them into the interpreter instead. I like the interp idea.

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

parrot -t memory leaks

Last week our fearless leader notice some not insignificant memory leaks with parrot -t. This week our fearless pumpking fixed them.

groups-beta.google.com&order=recent

Performance graphs

Matt Diephouse (assisted by Joshua Gatcomb) provided a pointer to a page of periodic parrot performances, provided as pretty pictures. Please provide possible improvement pointers.

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

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

www.sidhe.org

uniline yield() and return()

Stéphane Payrard (whose name google objects to strenuously) resent his patch for uniline yield and return in PIR. Leo applied the patch.

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

mod_parrot 0.1

Jeff Horwitz released mod_parrot 0.1. Pretty nifty.

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

www.smashing.org

IO auto-flush troubles

Christian Aperghis-Tramoni wondered how to make stdout not buffer away his prompt. The answer (provided by Mary Pauley and Luke Palmer) require using pioctl and strange magic numbers.

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

bigChanges--; release++?

Since the big indirect register change has gone through, some voices suggested putting out a 0.1.2 release. Leo felt that it was too soon, but seemed to be holding a minority opinion. I vote that we release after the new register allocator (and possibly Dan's string stuff depending on how long it takes).

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

Dan's String Stuff

Dan is about to make some "Irrevocable Changes" so he decided to do his work in a branch named "pluggable_encodings", assuming he can use CVS (which is surprisingly hard at times). Since no one screamed foul, I think it is a safe assumption.

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

clone mmd

Sam Ruby submitted a patch adding mmd_clone for dynclasses. Leo suggested an alternate approach, and Warnock['s Dilemna] took over.

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

true coroutines

Klaas-Jan Stol wondered if parrot had "true" coroutine because Roberto Ierusalimschy (of Lua fame) called it into question. Some confusion ensued as to what the platonic ideal of a coroutine actually is, but the answer seems to be: we should and if they aren't patches welcome.

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

trouble with Closures and Subs

Klaas-Jan Stol was having trouble with closures and subs. Many people provided some very useful pointers. If you are writing a compiler for Parrot you should read this thread carefully. If you are writing a summary for Parrot you should skim it and punt.

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

Shared library and dynclasses

Sam Ruby wondered if dynclasses should link to libparrot.so. Dan provided the answer: yes. Sam Ruby went on to suggest that if most PMCs would eventually become dynclasses, then (to reduce executable size, the parrot executable should probably also link to libparrot.so rather than including all of it. No one commented on this observation...

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

serach paths and libraries

Dan wants to stop being annoyed by library path issues. He figures that the right way to do this is to allow dynamic library loading. Best of all he wants the code to do that to be in the library. Thus he put out a request for the ability to embed bytecode into an executable. Brent 'Dax' Royal-Gordon provided a slightly too evil method of doing this. Other slightly less evil (or even good) options would definitely be received thankfully.

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

Benchmarks? tests? or both?

Joshua Gatcomb noticed that some benchmarks fail on occassion. Matt Diephouse suggested making them tests too. Leo felt that would be fine provided they did not take too long to run.

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

Fibonacci Still Slow

It is odd how the wheel comes full circle. Originally designed as an exercise in addition for students, the Fibonacci sequence has some really interesting mathematical properties. While comletely ignoring its unexpected niftiness (and explicit formula), this miraculous sequence is still used as busy work for poor creatures. This time the creature is parrot, and, despite Leo's best efforts, it is still slow. There was some talk of how to optimize this before Dan put the smack down all of it:

"No more performance changes. Period. We get parrot fully functional first."

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

Parrot on Windows

Jerry Wiltz wondered how to get Parrot on his poor Win XP box. Fred and Georgy provided many pointers. Christian Lott also had trouble, but Nicholas Clark, Ron Blaschke, Peter Sinnott, and Steve Peters all provided pointers.

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

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

Parrot build issues

Jack J. Woehr was having trouble building parrot on his Sun. Leo provided the needed help. But then ICU became problematic. Many people provided help and he eventually got it running forth, which promptly segfaulted. Jack sounded discouraged, but he really should stay with it now that he has gotten by the hard part...

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

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

detecting perldoc

James deBoer wondered if we should detect the presences of perldoc and fail to configure if it is missing. The concensus seems to be that we should detect the absence of perldoc, but if it is no there throw up a big fat warning and procede.

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

pow and other ops

There was/is a fairly long and ongoing discussion about ops on PMCs, which Sam Ruby unwittingly started when he asked for MMD pow. While there are people on all sides, it appears likely that the ops will stay.

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

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

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

C on parrot?

bloves wondered what the current state of C on parrot was. But I think he posted it through google groups (which does not actually reach the list) as I did not find it in my email. The answer is essentially non-existant, but if you are feeling brave/insane/suicidal patches welcome.

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

Streams and Filters

Ron Blaschke tracked does the problem with t/library/streams.t #14 on Win32. The guilty party is line endings. One workaround would be to have the file in question be set to binary in cvs (although that feels like cheating).

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

AIX PPC JIT

Adam Thomason provided a patch to fix some warnings. Leo applied it.

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

Register allocation/volatility

Despite Dan's line in the sand strong statements about no more optimization, Jeff Clites and Leo tossed about some radical ideas for how to speed everything up.

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

GC invocation

Leo suggested changing the GC from one that interupts everybody and does its thing, to one that waits its turn and does its thing. I am concerned that this could lead to resource starvation in a multithreaded system, but nobody else posted anything. Of course he only suggested this today.

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

eval questions

Leo wants some answers to some eval questions before he tries to clean up dynamic code compiling. Answers??

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

include perl 6 files in config

Gerd Pokorra wants to be able to run perl6 from anywhere. He even provided a means of achieving this end (although not in unified diff format as is the custom).

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

pioctl -> segfault

Stephane Payrard got a segfault while playing with the previously mentioned pioctl magic numbers. Leo speculates that this might be do to the lack of an end opcode.

[TODO] improve parrot-config.imc

Takers wanted.

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

Missing arguments

Klaas-Jan Stol wondered how to detecting missing arguments. Leo and Dan both pointed to the argument count registers.

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

Update to embed.pod

Stéphane Payrard provided an update to embed.pod. Leo applied it, but Brent 'Dax' Royal-Gordon cried fould over the including of parrot.h. Dan aggreed with Brent, and Stéphane Payrard provided a patch to remove the offending line.

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

calling convenctions, traceback, and register allocation

Leo suggested a new way to invoke functions which would clean up calling, tracebacks, and register allocation. While such a change would have great aesthetic value, Dan declared it premature as parrot is not yet fully specified. Doubtless this will rearrise later, as aesthetics is a powerful motivator.

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

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

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