Hi everyone,
mvm is a fast interpreter and virtual machine for Go.
- Fast, portable bytecode virtual machine
- Aims for full Go language compatibility
- Embeddable in Go and C host programs
- pure Go, zero dependency
- Integrated REPL, debugger, and test runner
- One single static binary, batteries included (full stdlib)
Why ?
Existing Go interpreters lag behind or/and are slow (disclosure: I'm the author of one of them: yaegi).
If you want a small, embeddable runtime that runs idiomatic Go fast enough for non-trivial programs, mvm is built for that.
mvm starts with Go, but the design points further: the scanner/parser front-end is built to host other languages, the bytecode compiler is language-agnostic, and the VM leverages the Go runtime's memory management and concurrency.
Enjoy, feedbacks and PRs welcome
Marc Vertes