Translating .Net Libraries To Parrot - Jonathan Worthington
Thursday, The Onion Room, 1445, 20 mins

For around the last year I've been working on translating .Net assemblies to Parrot intermediate code. With many instructions and other constructs now being translated, I'm slowly closing in on being able to translate useful stuff. That means that one day soonish you might be able to say "use dotnet:System::Collections;" in your Perl 6 programs and have it work as expected. This talk gives an overview of the translator and how it was built, including the Perl build tools and declarative micro-language I developed to make the process easier.


  • Motivation: the library re-use problem virtual machines create
  • Possible solutions; why bytecode translation is a good bet
  • Comparing the .Net and Parrot runtimes
  • Building a translator
    • Declarative instruction translation
    • Pluggable stack to register mapping
    • A Perl script to tie it all together
  • A quick look at translating a couple of interesting constructs
  • Evaluation of what's done so far, future directions
  • Time for a few questions