Sunday afternoon. One hour. Less than 150LOC (< 4kb).
MicroVM is a stack-based micro virtual machine written in Ruby, running its own micro bytecode format called MC.
$ wget https://raw.github.com/txus/microvm/master/microvm $ chmod +x microvm $ ./microvm some_file.mc
You can try some example MC files in this very repo.
It's a learning example: it's a really simple implementation of a VM that works, so it's easy to get a general grasp about how things are structured.
- Compact bytecode format (although it could be more compact)
- Method calls
- Types: only String and Fixnum for now.
- Sort of runtime type checking