Mvm Documentation

June 27, 2026 ยท View on GitHub

Mvm is an experimental Go interpreter built from a pipeline of composable packages.

Guides

  • Usage Guide -- CLI commands, execution tracing, the trap() debugger, remote imports, environment variables

Module Reference

  • scan -- language-independent lexical scanner
  • lang -- token types and language specification
  • goparser -- Go parser producing flat token stream (no AST)
  • symbol -- scoped symbol table
  • comp -- bytecode compiler with peephole optimization
  • vm -- stack-based bytecode virtual machine
  • interp -- integration layer and REPL
  • synth-types -- cross-cutting: how interpreted types project onto real reflect.Types and the invariants that keep them in sync
  • runtype -- synthesizes Go rtypes carrying interpreted methods for native dispatch
  • stdlib -- standard library wrappers for native Go imports
  • stdlib/stubs -- method-shape catalog and dispatch-stub pools feeding runtype
  • stdmod -- redirect FS that routes stdlib imports through the synthetic github.com/mvm-sh/std module
  • modfs -- in-memory fs.FS over the Go module proxy for dynamic network imports
  • cmd/extract -- generator for stdlib binding files
  • cmd/mvmlint -- project-specific source linter built on mvm's own scanner

Architecture

Architecture Decision Records: