?

Log in

No account? Create an account

Previous Entry | Next Entry

Blocked.

Starting to get back into Parrot work...at the moment, though, I'm blocked on a question someone on perl6-internals needs to answer.

Parrot, for anyone who doesn't know already, is a "virtual machine"--a program that's used to run other programs. In this case, it's a VM that will eventually run all Perl programs. It's taken two and a half years to write so far (first release was September 10, 2001), and it's getting fairly close to completion. (Of course, Perl 6 isn't even completely designed yet, let alone implemented...)

My current little project goes something like this: Parrot (like most Unix programs) has an install script called Configure that examines your system and works out various technical details about it. In current versions of Perl, Configure writes a module called Config that records all the characteristics Configure detected; this module can be used by any program that needs the information. Currently, Parrot doesn't have an equivalent; I'm working on adding one.

Right now, it's blocked on a feature called "serialization"--essentially, how to write a complicated data structure (like Configure's table of names and settings) to disk. Parrot has had serialization implemented for a couple months, but it's either incomplete or buggy, and I'm not sure which it is. In the meantime, I'm pretty much paralyzed.

Frustrating.

Maybe I'll delve into the C source and figure it out myself...