MoarVM/MoarVM
FreeA VM with adaptive optimization and JIT compilation, built for Rakudo
FreeFree tier
About MoarVM/MoarVM
MoarVM (Metamodel On A Runtime Virtual Machine) is a runtime built for the 6model object system, primarily aimed at running NQP and Rakudo (Perl 6) but also serving as a backend for any compilers built using the NQP compiler toolchain. It features adaptive optimization, JIT compilation, precise generational parallel garbage collection, Unicode 15 support, first-class code objects, closures, exceptions, continuations, bounded serialization, runtime code loading, big integers, and a range of IO and process support. It can run all of the NQP test suite and all Rakudo sanity tests, and passes more spectests than any other Rakudo backend.
Key Features
Meta-object programming using the 6model design
Precise, generational, and parallel garbage collection
Unicode 15 support (Unicode Character Database, encodings, normalization)
First-class code objects, lexical variables and closures
Exceptions and continuations
Bounded serialization
Runtime loading of code
Big integers
IO and process support including async I/O
Cross-platform builds (Linux, macOS, Windows with MSVC or gcc/clang)
Pros & Cons
Pros
- Open-source and free to use
- Strong performance with adaptive optimization and JIT compilation
- Comprehensive Unicode support (version 15)
- Modern garbage collection (precise, generational, parallel)
- Active development with high test coverage
- Supports multiple operating systems and compilers
Cons
- Still in development (not yet production-ready)
- Primarily tied to the Perl 6/Raku ecosystem
- Limited adoption outside the Rakudo community
- Requires Perl to configure and build
Best For
Running Rakudo (Perl 6) programsRunning NQP (Not Quite Perl) compiler toolchainBackend for compilers built using the NQP compiler toolchain
FAQ
What is MoarVM?
MoarVM (Metamodel On A Runtime Virtual Machine) is a runtime built for the 6model object system, primarily aimed at running NQP and Rakudo but usable as a backend for any compilers built with the NQP compiler toolchain.
How do I build MoarVM?
Run 'perl Configure.pl' then 'make install'. It builds on Windows with MSVC or gcc, and on Linux/macOS with gcc or clang. Use '--help' to see options.
What languages or platforms does MoarVM support?
MoarVM runs NQP and Rakudo (Perl 6). It builds on Windows, Linux, and macOS using various compilers (MSVC, gcc, clang).