The Perl 6 Summary for the week ending 20021201
Oh look, it's only Monday evening and Piers has started writing this
week's summary. What is the world coming to?
As usual, we start with the internals list.
C#/Parrot Status
During last week's discussion of C# and Parrot, Nicholas Clark confessed
that floating point fills him with fear. Rhys Weatherley attempted to
assure him by saying that C# doesn't require floating point overflow
detection. Dan pointed out that, regardless of C#'s needs, we'd need
overflow detection for our own purposes.
Gopal V posted a dotgnu.ops file, implementing the conversion ops that
the DotGNU project needs. Leopold T�tsch dropped unsubtle hints about
the NEED FOR TESTS and did a certain amount of patch polishing before
applying it with added tests. Gopal commented that Parrot people make it
almost too easy. Several other patches to the ops got added in order to
take into account portability to such common hardware as Crays, PPC and
ARM.
http://makeashorterlink.com/?K158255A2
http://makeashorterlink.com/?X268515A2
NCI stuff (mostly) done
Dan offered a few progress reports on the state of the Native Call
Interface, which is nearing completion, and produced a document on how
to use it (essentially, you edit call_types.txt). James Mastros
suggested that a good deal of what was in the post should be included as
comments at the top of call_types.txt and that maybe call_types.txt.
should be renamed to something like nci_types.txt.
Leon Brocard had a go at using this new functionality to call out to
libSDL but had some problems with it needing to have "libpthread"
loaded.
http://makeashorterlink.com/?H278145A2
http://makeashorterlink.com/?D288125A2
http://makeashorterlink.com/?C398455A2
Changes to parrot/docs/jit.pod
Leo T�tsch committed a few changes to the JIT documentation, which
caused Nicholas Clark to wonder why some of the behaviour was as
described. And then my head started hurting. As far as your summarizer
is concerned, JIT is Really Cool Scary Magic that makes it go faster, so
I will continue with my shameless handwaving whenever this topic comes
up. I *think* this thread had something to do with making sure that the
mapping between parrot registers and hardware registers is efficient.
http://makeashorterlink.com/?C2A8135A2
Befunge-93? No! Befunge-98!
Jerome Quelin wondered if the $PARROT/languages/Befunge-93 directory
could be renamed into $PARROT/languages/befunge because, as soon as
Parrot supports objects he intends to implement the Befunge 98 specs,
and a Befunge 98 interpreter can be used to interpret Befunge 93 code.
Jerome's wish was Robert Spier's Command, and the directory has now been
moved. Nicholas Clark muttered something about subversion and VMS (where
subversion is a CVS replacement which, amongst other things, allows you
to rename directories without causing confusion.)
http://makeashorterlink.com/?P3B8215A2
This week's patches
For the first time in quite a while this week, several people gave Leo
T�tsch a run for his money in `most patches to Parrot' stakes.
Patches to Parrot this week include:
* More JIT changes: Register usage array, block allocation
Leo has been doing more magic with the JIT system, but Daniel
Grunblatt raised a query about "ALLOCATE_REGISTER_ALWAYS".
* Config test for i386 fcomip
Leo added a test to see if the fcomip operation is available to the
JIT system.
* Use IMCC instead of assemble.pl
J�rgen B�mmels has hacked IMCC to accept normal .pasm files. This
leads to dramatic (350%) speed increases in assembly, but causes
several of the tests to fail because IMCC has no macro support.
J�rgen intends to add macro support to IMCC if this approach proves
acceptable. Leo liked it a lot, suggesting that, until IMCC gets
native macros it should be possible to use assemble.pl's
preprocessor option to get macro free .pasm files. The patch was
applied.
* Introducing debug features in Befunge
Jerome Quelin patched the Befunge interpreter to add the beginnings
of real debugger support. He threatens a `fully-functional debugger
within the Befunge interpreter with breakpoints, dumping the
playfield, status line and more'. Nicholas Clark was scared, but
applied the patch anyway.
Jerome later supplied a patch adding single stepping, playfield
dumping an a rudimentary UI. If Nicholas Clark was still scared he
didn't show it, and applied the patch.
* Replace 'perl' with 'parrot' in the PDDs
Alin Iacob noticed that, in several places, the PDDs (Parrot Design
Documents) use 'Perl' where they should probably use 'Parrot', and
submitted a patch to fix things.
* Long double support in i386/Linux JIT
Leo supplied a patch fixing the `long double issue' in the
i386/Linux JIT core.
On rereading that list I see that Leo is still comfortably in the lead
as most prolific patcher. Somehow it didn't seem that way during the
week.
Multiarray usage
Jerome Quelin wanted to use multiarrays but couldn't understand how they
work, so he asked the list. Leo T�tsch provided a pile of answers and a
short discussion ensued. I think Jerome chose to use a PerlArray of
PerlArrays in the end. Leo pointed out that multiarrays come into their
own for 'big packed arrays'.
http://makeashorterlink.com/?U2C8435A2
Meanwhile, in perl6-language
By gum but you American chaps take Thanksgiving seriously don't you?
There was grand total of 32 messages in perl6-language this week. I have
the feeling I could just concatenate them and this section would be no
longer than the usual perl6-language summary. But that would be the
wrong kind of Lazy.
Dynamic Scoping
The discussion of Ralph Mellor's proposal about dynamic scoping and
implicit argument passing continued. In response to last week's summary
Ralph clarified that he suggested implicit argument passing as a way of
eliminating globals; the perceived thread safety thing was beside the
point.
Back in the thread (and in a post I discussed last week, my filtering is
obviously confused), Larry provided some clarifications and suggested
extensions to the currying mechanism which would address some of Ralph's
concerns. Ralph responded with a pile of posts and suggested extending
the currying idea still further.
http://makeashorterlink.com/?O24852592
Status Summary; next steps
Michael Lazzaro posted a summary of where the perl6-documentation people
had got to and a list of `next Big Deals'. Bryan C. Warnock pointed out
that almost all of the Big Deals should really be discussed on
perl6-language rather than perl6-documentation and wondered again about
the scope of perl6-documentation and how it differs from perl6-language.
Larry told us that "p6d and p6l just have different deliverables. p6l is
looking at the elephant from above, while p6d is looking at the elephant
from below. But it's the same elephant. (Unless it's a camel.)". Larry
also addressed the Big Deals.
Michael also posted his ideas about what the documentation list was for
and where was the appropriate place to discuss things. Bryan worried
that p6d was in danger of trying to go faster than the design of the
language and asked that the documentation list "refrain from rampant
p6l-ish speculation." He went on to suggest that people be kind to
Piers, which was nice of him. In a later post, he offered *his* vision
of what the difference between the lists should be. In another
subthread, Garrett Goebel offered his vision too (obviously a 'vision'
week).
http://makeashorterlink.com/?O1D8225A2
http://makeashorterlink.com/?C2E8115A2 -- Larry's vision
http://makeashorterlink.com/?E2F8325A2 -- Michael's vision
http://makeashorterlink.com/?H409355A2 -- Bryan's vision
http://makeashorterlink.com/?W219315A2 - Garrett's vision
Just wondering...
Piers Cawley pointed out that it's nearly 6 months since the last
Apocalypse, and wondered when we could expect the next one. Larry
reckons it'd be a lot faster if we'd stop asking interesting questions.
Apparently he was planning to have a draft out this week, but made the
mistake of buying the extended Fellowship of the Ring DVD set, so that
was him out of commission for a few days. Hopefully we'll see something
within the next week or so (before Christmas, please...) but the timing
is dependent on whether Gloria's family played games Larry likes over
Thanksgiving. (So far in the current week, Larry hasn't said whether he
played games or did design.) Jonathan Scott Duff asked for the email
addresses of Larry's in-laws so he could ask them to play the
appropriate games.
And this pr�cis is now almost longer than the original thread...
In Brief
Bryan Hundven wondered about writing an entire Operating System on top
of Parrot. At least, I *think* that's what he wondered about.
Everybody ignored Leon's nabirfuck patch. (You know, I think I may be
misspelling the wrong bit of that...)
The Documentation group finished up their work on numeric literals and
started work on string literals.
Who's Who in Perl 6?
Who are you?
Zach Lipton, [zach at zachlipton dot com]
What do you do for/with Perl 6?
I'm the maintainer of tinderbox (http://tinderbox.perl.org) and
percy (the annoying little ircbot on #parrot who tells people when
tinderbox status changes I also attempt to get bonsai to work on
perl.org to make the lives of many others much easier. Occasionally,
I tinker with configure and the testing suite, but rarely get
anything useful to happen.
Where are you coming from?
I'm mostly coming from the Mozilla project where I do a wide amount
of various miscellaneous stuff including working on Bugzilla and
Technology Evangelism (no, not televangelism you may continue your
religion). Oh yes, mustn't forget school, the, erm, uh, um, most
important place where I learn all sorts of interesting things.
When do you think Perl 6 will be released?
What? You mean that there is more to Perl 6 than Parrot?
Why are you doing this?
It's great to be able to help out with such a great project and give
back to the Perl community. Also, it's great experience and just
plain fun.
You have 5 words. Describe yourself.
Um, erm, hi, uh, yea!
Do you have anything to declare?
I promise, I will eventually have bonsai completely installed on
perl.org and working correctly!
Acknowledgements
It's been a quiet week this week, presumably because of Thanksgiving,
and I'm writing this on Tuesday morning, still on the train, which has
been very unusual of late.
Proofreading services were once again provided by Aspell and me. Any
errors should be laid at the door of Kevin Atkinson, the author of
Aspell.
I've been seeing a little more mail about Perl 6 this week, including a
set of questionnaire answers from Abigail that I was tempted to push up
to the front of the queue this week, but which I think I'll save for
later. Speaking of the questionnaire, the answer queue currently
contains only three posts, so if you'd like to answer the questions Zach
just answered and send them to me at <mailto:[EMAIL PROTECTED]> I'd be
grateful.
Several people have pointed out that my autogenerated URLs for messages
in perl6-documentation don't actually work. Apparently google isn't yet
picking that group up, so this week I don't provide any links to
messages in the documentation list. It's my understanding that, as they
produce final docs these will be available from some fixed website, yet
to be decided on. Once that's set up I'll start linking to that.
Time for the chorus again:
If you didn't like this summary, what are you doing still reading it? If
you did like it, please consider one or both of the following options:
* Send money to the Perl Foundation at
http://donate.perl-foundation.org/ and help support the ongoing
development of Perl 6.
* Send feedback, flames, money and/or a trip to Japan to
<mailto:[EMAIL PROTECTED]>.
The fee paid for publication of these summaries on perl.com is paid
directly to the Perl Foundation.
--
Piers
"It is a truth universally acknowledged that a language in
possession of a rich syntax must be in need of a rewrite."
-- Jane Austen?