This week on Perl 6, week ending 2004-02-01
Welcome once again to Gateshead, where the skies are grey, the view is uninspiring, and the workmen across the road seem determined to fall off the ladder before they get the double glazing fitted.
But enough of the gay Gateshead life, let’s hurry on to the doings of the denizens of the perl6-internals mailing list. Who knows, we might even visit the inmates of perl6-language later.
Threading
To nobody’s great surprise, we talked about threading. In particular, Gordon Henriksen’s concerns about the all around scariness of morph
(and not just in a threading context). I’m not sure I quite understand what’s being done, but progress is definitely being made.
Late in the week Dan announced that there were obviously still issues to be worked out before we started in on implementation (modulo some ‘obvious’ stuff). He also asked for ‘real worldish’ tests for threading in order to get some real numbers for different possible approaches and to see if the problem is as bad as it was first thought.
http://groups.google.com/groups
http://groups.google.com/groups
Embedding vs. extending interface types
Remember last week’s kerfuffle about Parrot_Interp
vs Parrot_INTERP
? Dan’s resolved it be deciding that we’ll just call it Parrot_Interp
everywhere. Gordon Henriksen sent in the patch.
http://groups.google.com/groups
Leo explains
Will Coleda (and others) have been having problems with data that should be inviolate getting clobbered in strange ways. After some effort, Will got his offending code down to 22 lines. This let Leo Tötsch work out what was going on, and in the referenced post he explained all. Essentially, the Copy on Write logic for handling register (and other) stacks is broken. The workaround is not to use Continuations and Exception Handlers. Fixes are welcome. Please.
http://groups.google.com/groups
Testing Signal Handlers
Leo asked for help with sorting out the testing code for some signal handling tests that seemed to be confusing the harness quite badly. Uri Guttman came up with some suggested workarounds, as did Mike Schwern. Leo found a third way. (If you’ve ever tried to write test with fork
in it, it’s worth taking a look at both Uri and Schwern’s answers.
http://groups.google.com/groups
The costs of sharing revisited
Last week, Leo posted some scary numbers implying that using a shared PMC led to terrible slowdowns. This week he posted the latest numbers, and things are looking up.
$ time perl-58-th shared_ref.pl
real 0m8.694s
$ time parrot shared_ref.pasm
real 0m0.375
(and that’s an unoptimized Parrot). Elizabeth Mattijsen was moved to ask for a ponie.
http://groups.google.com/groups
Cunning stunts with with UnManagedStruct
Donning his devious head, Leo demonstrated the use of UnManagedStruct to allow for unlimited self-inspection and self-modification of Parrot state. Which isn’t really something we want to be possible. In the opinion of Luke Palmer and Jeff Clites, the costs of removing this capability aren’t worth paying. As Jeff Clites pointed out, you only use UnManagedStructs when you’re calling out to a native library, and once you introduce a native library all bets are already off.
http://groups.google.com/groups
Michael Scott: hero of the week
Over the past few weeks Michael Scott has gradually been making the parrot distribution a kinder, gentler place with his sterling efforts to tidy up and generally improve the existing documentation. This week he rationalized/added documentation for everything in src/ (with the exception of malloc.c and malloc-trace.c). He’s working on documenting examples/ now.
The response to his announcement was overwhelmingly and understandably positive (The consensus is that Mike rocks). Now if we can just keep everything in such good condition…
http://groups.google.com/groups
Parrot DBDI announced
Tim “Perl DBI” Bunce announced the Parrot DBDI Project: A Database Driver Interface for Parrot. The goal is to have a common Parrot level interface to database drivers which can then be reused by different language specific database interfaces. For further details read the post; it’s jolly good. And bravo Tim.
http://groups.google.com/groups
Internal exception handlers
Leo posted a set of macros for doing exception handling in the parrot core using TRY/CATCH/THROW
etc. and asked for comments. So far he’s been Warnocked.
http://groups.google.com/groups
SDL bindings
After Leo fixed the struct PMCs for him, chromatic has proceeded apace to implement SDL wrappers in Parrot. He’s reached the point where he has code that can create an SDL window and blit a blue rectangle onto it. Leo applied his patches. Check out examples/pni/sdl_blue_rectangle.imc if you’re interested.
http://groups.google.com/groups
Meanwhile, in perl6-language
Discussions continued to test the encode setups of the participants’ mail readers…
Semantics of vector operations
A sub-thread of the discussion of the semantics of vector operations turned into a discussion of the meaning of ‘vector’ which has different meanings depending on whether you’re a mathematician or Seymour Cray.
Another sub-thread discussed the possible ASCII alternatives for «
and »
. I’m afraid I’m going to bottle out of attempting to summarize the various alternatives suggested, if only because I used up all my POD escape-fu last week. It looks like the <<
and >>
alternatives might be about to bite the dust in favour of an as yet undecided, less ambiguous, new scheme. Larry hasn’t ruled on it yet though.
http://groups.google.com/groups
Acknowledgements, Apologies, Announcements
I’d just like to announce that, if you haven’t seen Eliza Carthy perform life, you owe it to yourself to rectify that. We went to see her last night and it’s bucked me up enormously.
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 me feedback at p6summarizer@bofh.org.uk, or drop by my website.
http://donate.perl-foundation.org/ – The Perl Foundation
http://dev.perl.org/perl6/ – Perl 6 Development site
http://www.bofh.org.uk/ – My website, “Just a Summary”
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub