This week on Perl 6 (11/24-12/01, 2002)

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://groups.google.com/groups

http://groups.google.com/groups

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://groups.google.com/groups

http://groups.google.com/groups

http://groups.google.com/groups

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://groups.google.com/groups

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://groups.google.com/groups

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://groups.google.com/groups

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://groups.google.com/groups

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://groups.google.com/groups

http://groups.google.com/groups – Larry’s vision

http://groups.google.com/groups – Michael’s vision

http://groups.google.com/groups – Bryan’s vision

http://groups.google.com/groups - 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 that 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:5Ws@bofh.org.uk 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:

The fee paid for publication of these summaries on perl.com is paid directly to the Perl Foundation.

Tags

Feedback

Something wrong with this article? Help us out by opening an issue or pull request on GitHub