Hi! I’m Jonathan Worthington, and I’m part of the Perl 6 development team. I serve as architect for MoarVM (the leading runtime for Perl 6) and the Rakudo Perl 6 compiler. I’m also heavily involved in the design and implementation of Perl 6’s concurrency features. This blog is where I’ll share the ponderings, war stories, pain points, insights and triumphs I encounter in my Perl 6 work.
My primary interests in Perl 6 implementation are:
- Concurrent, parallel, and async language features (I’m the designer of the supply/react/whenever syntax, and also actively working on non-blocking await and the hyper/race parallelization features)
- Dynamic optimization in MoarVM (detecting hot code and performing optimizations, type specialization, inlining and JIT compilation; also deoptimization so as to enable speculative optimization)
- The object meta-model and meta-programming
I hope this blog will be of interest to those who are also working on Perl 6, those who use Perl 6 and want to learn about its internals, and to those not especially interested in Perl 6, but with a general interest in compiler and runtime implementation.