Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

This week's summary

11 views
Skip to first unread message

The Perl 6 Summarizer

unread,
Mar 8, 2004, 5:41:14 PM3/8/04
to perl6-a...@perl.org, perl6-i...@perl.org, perl6-l...@perl.org
The Perl 6 Summary for the week ending 2004-03-07
Time marches on, and another summary gets written, sure as eggs are eggs
and chromatic is a chap with whom I will never start a sentence. We
start, as always, with perl6-internals.

Platform games
Work continued this week on expanding the number of known (and
preferably known good) platforms in the PLATFORMS file.

Languages tests
Dan reckons it's time to be a little more aggressive with tests for
ancillary stuff, in particular the contents of the languages
subdirectory. He called for language maintainers (and any other
interested parties) to at least get minimal tests written for all the
languages in the languages directory, and to get those welded to the
"languages-test" makefile target.

http://tinyurl.com/24sd3

IMCC and objects/methods
Tim Bunce congratulated everyone on Parrot 0.1.0 before asking about
where we stood with IMCC and objects/methods. Leo confirmed Tim's
supposition that there is no syntactic support for objects and methods
in IMCC, at least in part because there's been no discussion of how such
syntax should look.

http://tinyurl.com/2jerk

Parrotbug reaches 0.0.1
Jerome Quelin responded to Dan's otherwise ignored request for a parrot
equivalent of perlbug when he offered an implementation of parrotbug for
everyone's perusal, but didn't go so far to add it to the distribution.
I don't think it's been checked into the repository yet, but it'll
probably go in tools/dev/ when it does.

Later in the week, he actually got it working, sending mail to the
appropriate mailing lists. With any luck the mailing lists themselves
will be up and running by the time you read this.

http://tinyurl.com/3fknl

Subclassing bug
Jens Rieks found what looked like a problem with subclassing, which
turned out to be a problem with "clone" not going deep enough. Simon
Glover tracked it to its den and Dan Sugalski fixed it.

http://tinyurl.com/ysogd

Good news! Bad news!
Good news! Dan says the infrastructure is in place to do delegated
method calls for vtable functions with objects. Bad news! It doesn't
actually work because it's impossible to inherit from delegate.pmc
properly. Dan pleaded for someone to take a look at pmc2c2.pl and or
lib/Parrot/Pmc2c.pm and fix things so that the generated code is
heritable.

http://tinyurl.com/2ouce

Parrot m4 updated
Bernhard Schmalhofer posted a patch to improve the Parrot implementation
of the m4 macro language.

http://tinyurl.com/2aauu

Use vim?
I don't use vim, but it seems that Leo Tötsch does. He's added some
handy dandy vim syntax files for IMC code. If you're a vim user you
might like to check it out. Leo points out that the syntax tables might
well be handy if you don't know all 1384 opcode variants by heart.

http://tinyurl.com/36gqv

Parrotris
Sadly, Jens Rieks' Parrot and SDL implementation of tetris didn't quite
make it under the wire for the 0.1.0 release. However, Leo has got round
to trying it and is impressed, though he did spot a few bugs (it doesn't
spot that the game is over for instance). Jens is working on fixing
those (and on adding new features), which he reckons will go a deal
faster when IMCC has better syntactic support for OO techniques.

http://tinyurl.com/2hklm

Dates and Times
To paraphrase Barbie: Dates and Times are Hard. Not that hardness has
ever stopped Dashing Dan Sugalski before. This time he waded into the
swamp that is Parrot's handling of dates, times, intervals and all that
other jazz. He started by soliciting opinions. He got quite a few.

The discussion can probably be divided into two camps: KISS (Keep it
Simple) people, and DTRT (Do The Right Thing) people. But KISS still has
it's complexities (which Epoch do we want? Should time be a floating
point value?) and what, exactly, is the Right Thing? The catch is, time
is a messily human thing, and computers are really bad at messy
humanity.

Larry said that Dan could do what he wants with Parrot, but he wants
Perl 6's standard interface to be a floating point seconds since 2000.
He argues that "floating point will almost always have enough precision
for the task at hand, and by the time it doesn't, it will. :-)". He also
argued that normal users "should *never* have to remember the units of
the fractional seconds".

Zellyn Hunter pointed everyone at Dave Rolsky's excellent article on the
complexities of handling dates and times with a computer.

Discussion is ongoing, but it seems that Larry and Dan are leaning
towards the KISS approach.

http://tinyurl.com/3dqhn

http://tinyurl.com/ywcs9

Initializers, finalizers and fallbacks
Anyone who has been reading the internals list for any length of time,
or who has chatted to Dan about Parrot on the #parrot irc channel will
be only too aware that Dan isn't the greatest fan of the OO silver
bullet. So, getting the initial objects implementation out there was the
sort of thing he probably hoped would mean he didn't have to come back
to objects for a while. Except, once you've got part of an object
implementation, the need for the rest of it just seems to become more
pressing.

So, poor Dan's been doing more OO stuff. This time he sketched out where
he was going with initialization, finalization and fallback method
location. The basic idea is that, instead of mandating particular method
names for different tasks (which seems like the easy approach, but
doesn't work across languages), we mandate particular properties which
tag various methods as being initializers/finalizers/fallbacks. He
outlined his initial set of standard properties and asked for comments.

Leo liked the basic idea, but suggested that, in the absence of any such
properties on a class's methods, Parrot should fall back to some methods
on a delegate PMC.

http://tinyurl.com/2dw9q

OO Benchmarks
Leo posted the results of a couple of benchmarks. They weren't very
encouraging. It seems there was a memory leak. And some inefficiencies
in object creation. And some more inefficiencies in object creation. By
the end of the mini thread, things had got a good deal faster. Quite
where it puts us against Perl 5 and Python wasn't mentioned.

http://tinyurl.com/26mjy

Parrot dependencies
Michael Scott, who has been doing sterling work on Parrot's
documentation wanted to remove some non-modified, non-parrot Perl
modules from the Parrot distribution and have people install them from
CPAN. Dan disagreed quite strongly. The current rule of thumb is that
Parrot is allowed to depend on finding a Perl 5.005_0x distribution and
a C compiler. Any Perl modules it needs that can't be found in that
distribution should be provided as part of the Parrot distribution.

Larry argued that we should separate the notion of the developer
distribution from the user distribution. The developer codebase is
allowed to have any number of external dependencies ("dependencies out
the wazoo" was Larry's chosen phrase), and the (for plural values of
'the') comes with all the bells and whistles a distributer sees fit to
include. He argued that the developer codebase should be completely
unusable by anyone but developers to prevent ISPs from installing that
and then claiming to "support Perl".

http://tinyurl.com/2l9xz

Vtables as collectible objects
Dan wondered whether we were going to need to treat vtables as garbage
collectible objects, and if we did, what kind of hit that would entail.
He and Leo discussed it, and Leo reinvented refcounting as being a
possible way to go rather than full DOD type collection.

http://tinyurl.com/2lvj9

Continuing dumper improvement
Jens Rieks added ParrotObject support to his Parrot data dumper. Dan
applied it. Go Jens.

http://tinyurl.com/33zxq

Freezing strings
Brent Dax is working on writing a parrot implementation of
Parrot::Config. His initial idea for implementation involves generating
a PerlHash of configuration info and then freezing it to disk. However,
when he tried it he had problems with freezing strings, so he asked for
help. It turned out to be a simple matter of unimplemented functions,
which he and Leo rapidly implemented. A patch with Brent's
implementation appeared shortly afterwards.

http://tinyurl.com/2x2ex

A Perl task - Benchmarking
Leo wondered if anyone could implement an equivalent of perlbench for
parrot's benchmarks to do speed comparisons of Parrot, Perl, Python etc
implementations. Sebastien Riedel delivered the goods.

http://tinyurl.com/2t8ay

Meanwhile, in perl6-language
Exegesis 7
Everyone carried on discussing Damian's Exegesis 7 on Perl6::Format,
there was even a surprise appearance by Tom Christiansen, who
demonstrated a novel, if computationally intractable, approach to
generating fully justified text.

Multi matching
Remember last week, Larry had proposed using "&" in Perl 6 rules as a
way of matching multiple rules at the same point in the string. Damian
liked it a lot and said he'd be delighted to add support for it to the
semi mythical Perl6::Rules module. So, Larry said the word ("Execute!",
which wasn't quite the word everyone expected) so Damian tugged his
forelock and added it to his todo list. Questions like "What are the
precedence rules for "&" and "|" in regular expressions then?" haven't
been asked yet.

http://tinyurl.com/2elsh

Compile-time undefined sub detection
Nigel Sandever wondered if Perl 6 will be able to detect undefined subs
at compile time. Larry thought it would be in theory, if you ask it to
check in a "CHECK" block, and you're prepared to assume that no "eval"
or "INIT" block will fill in the blank later, and there's no "AUTOLOAD"
that might catch it. Sounds rather a like "Not in the general case, no"
to me.

Bringing "CHECK" and "INIT" up prompted Rafael Garcia-Suarez to ask what
the rules would be for them in Perl 6 because they're pretty broken in
Perl 5. (Sometimes you want "CHECK" and "INIT" semantics to work well
when you're loading a module at runtime, and Perl 5 doesn't do that). It
looks like he's going to get his heart's desire on this (A big "Yay!"
from the direction of Gateshead). Dan Sugalski popped over from
perl6-internals to point out that Parrot would be using properties
rather than specifically named blocks for this sort of stuff.

Larry eventually made a ruling which uses properties in a rather cunning
fashion. Check his message for the details.

http://tinyurl.com/yte24

http://tinyurl.com/2pjv5 -- Larry on magic blocks

Announcements, Apologies, Acknowledgements
Crumbs, another Monday night, another summary finished. I've got to be
careful here, it might by habit forming.

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
mailto:p6summ...@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"

Leopold Toetsch

unread,
Mar 8, 2004, 6:09:36 PM3/8/04
to perl6-i...@perl.org, p6summ...@bofh.org.uk
The Perl 6 Summarizer <p6summ...@bofh.org.uk> wrote:

> Good news! Bad news!
> Good news! Dan says the infrastructure is in place to do delegated
> method calls for vtable functions with objects. Bad news! It doesn't
> actually work

That's solved already. You can override e.g. "inc Px" w/o problems.

> Freezing strings
> Brent Dax is working on writing a parrot implementation of
> Parrot::Config.

> .... It turned out to be a simple matter of unimplemented functions,


> which he and Leo rapidly implemented.

s/he and Leo/he/

Thanks again for the summary,
leo

Brent "Dax" Royal-Gordon

unread,
Mar 9, 2004, 1:59:59 AM3/9/04
to l...@toetsch.at, perl6-i...@perl.org, p6summ...@bofh.org.uk

I was just the one hitting Ctrl-C Ctrl-V. (Actually, I was using the
mouse, since I was working with emacs via ssh and don't know the proper
keyboard shortcuts for either yet.)

Now, back to gutting Configure...

--
Brent "Dax" Royal-Gordon <br...@brentdax.com>
Perl and Parrot hacker

Oceania has always been at war with Eastasia.

Jerome Quelin

unread,
Mar 9, 2004, 1:42:29 PM3/9/04
to perl6-i...@perl.org, perl6-l...@perl.org, p6summ...@bofh.org.uk
The Perl 6 Summarizer wrote:
> Parrotbug reaches 0.0.1
> Jerome Quelin responded to Dan's otherwise ignored request for a
> parrot equivalent of perlbug when he offered an implementation of
> parrotbug for everyone's perusal, but didn't go so far to add it to
> the distribution. I don't think it's been checked into the repository
> yet, but it'll probably go in tools/dev/ when it does.
> Later in the week, he actually got it working, sending mail to
> the appropriate mailing lists. With any luck the mailing lists
> themselves will be up and running by the time you read this.

Some notes:
- I've bumped up the version and we're now at 0.2.1 (I like to increase
version numbers, it make me feel like work is going on fast :-) )
- following an irc discussion with melvin and dan, I've checked in
parrotbug in parrot's root (and forgot to update MANIFEST - sorry
again, Jens!)

Thx for the summaries,
Jerome
--
jqu...@mongueurs.net

0 new messages