Parrot gets cookie

By bgeron

Before I encountered Lisp, I had been using Perl for a while. Nowadays I’m mostly toying with an unfinished unofficial Arc implementation. Surprisingly the two got together: Parrot, the expected Perl 6 virtual machine, is made to support other languages as well. There are already projects for Parrot implementations of APL, Basic, Befunge, Brainfuck, CL and dotnet, to name a few. The list includes a mostly working Python implementation.

Another plus: it uses continuations everywhere (not what you’d expect be necessary with Perl), so it’s ideal for a Lisp dialect host. You can use CPAN, wxPerl, SDL, sinp.py, interact with Perl and Python, and so on. There’s just one implementation, targeted at portability, so you don’t have to bother with your favorite CL implementation not supporting platforms.. Perfect. I love it.

2 Responses to “Parrot gets cookie”

  1. Bas Says:

    VM are fun. VM are even more fun to design and write yourself.

    At the moment I’m designing a VM/Platform Px with an american friend of mine, Kaja Fumei (http://kajafumei.com/). Although we don’t expect to deliver any result soon — a VM is terribly big and complex and we tend to rewrite a lot — it’s still great fun.

    Parrot should get a JIT, then I’d be really happy :). At that moment it can compete with .NET’s language implementations like IronPython and others.

  2. bgeron Says:

    > At the moment I’m designing a VM/Platform Px with an american
    > friend of mine, Kaja Fumei (http://kajafumei.com/).
    Cool.. Please keep me informed at your site.. :-)
    > Parrot should get a JIT, then I’d be really happy :).
    It has, you can select that core with the ‘–jit-core’ or ‘-j’ command line option.. I think it’s not complete yet, but that will come.
    Its speed is good (a few times better than Mono (which is about half the speed of MS .NET)), but only trivial benchmarks have been taken. For more info, look for ‘Bragging rights’ in http://www.parrotcode.org/talks/ParrotInDetail2.pdf.

Leave a Reply