Dan Sugalski is going to assume we know what Parrot is, so he’s going to
tell us where it is. (It’s the engine that Perl 6 is being implemented on.)
The core interpreter is done. There’s the base
engine, and compile-time extensions are “dead simple”. No program-visible
architecture changes in more than a year. Calling conventions are finalized.
The JIT is blindingly fast. That’s good. What’s JIT? He doesn’t
say.
IMCC is assembly without the pain of register allocation. It’s a nice
target, better than Parrot assembly.
PMC is the variable system for Parrot, and it’s essentially done.
C library callouts allow load and call out to any third-party C library
with no extension code necessary. It works fine right now.
Objects are “sorta” in place, with single inheritance.
In summary, there’s a working runtime, variables, single-inheritance
objects, JIT, good compiler target IL, synchronous I/O, language-neutral
lexical and global namespaces, and dynamic C library loading.
No Z-machine yet. This is his “single biggest disappointment”; parrot
can’t yet run Infocom games like Hitchhiker’s Guide to the Galaxy.
Threads don’t work yet. Much of the design already considers the needs
of threads.
Exceptions are done, avaiting CVS check-in.
Dan demonstrated the first Parrot CGI program… written in BASIC on top
of Parrot.
We ended with twenty minutes of questions and answers.