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

The pie-thon post-mortem

3 views
Skip to first unread message

Dan Sugalski

unread,
Aug 7, 2004, 2:23:02 PM8/7/04
to perl6-i...@perl.org
Okay, here's my notes on the aftermath of the piethon push. We need
to take a look at where we stand with things, where we want to go
from here, and how we're going to finish up the compiler and
requisite runtime libraries.

If anyone wants to chime in with extra stuff or questions, by all
means go for it. We should flesh this out, take a look at the result,
and then deal with the issues.

Things we did wrong
===================
* Started far too late (Admin, Dan)
* Involved too few people (Admin, Dan/Leo)
* Code in repository is near-impossible to follow (Source, Leo)
* There are no docs to speak of in the repository for the code that
was written (Source, Leo)

Things we did right
===================
* Didn't put hacks into parrot's design for the contest
* Added in features to Parrot for Python that we did really need
(slices, for example)

Things we need to fix
=====================
* Exceptions
* MMD with right-default needs fixing

Stuff we need to address
========================
* Namespace issues for Python builtins
* Better lexical handling
* OrderedHash PMC is far too slow
* Need to work out parameter passing a bit more
* Redo the converter into pasm/PIR, so we can load python bytecode
just like parrot bytecode
* How to do objects and classes in parrot's object scheme

What we got out of it
=====================
* The start of slices
* A good shakedown of parts of parrot
* A collection of useful builtin functions
* Templates for writing parrot subs in C
* Bignum support, to an extent. (GMP-dependent right now)

Plan Bs
=======
* This'd be better done with a python parser implementation, rather
than a bytecode translator. Optimization is a lot better
* The Python standard builtin stuff needs to be modularized

General notes
=============
For Dan's converter, at least, Parrot mapped pretty well to Python.
It needs finishing, and a lot of optimization. (There's no analysis
of the code, which could be done)

MMD for Python PMCs would make a difference, and we should make sure
it happens.

The Python standard library should be loadable, rather than builtin.
Taking a page from the VMS book, it *should* be required for Parrot
to build. This'll make sure that the library's built, tested, and
available for anything but a truly minimalist release.
--
Dan

--------------------------------------it's like this-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk

0 new messages