MoarVM/MoarVM logo

MoarVM/MoarVM

Free

A VM with adaptive optimization and JIT compilation, built for Rakudo

FreeFree tier
Type
Open Source

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).