Mite

I haven’t actively worked on Mite for some years, but I have some undeveloped ideas about how to take it forwards, and I always welcome discussion on that subject. My more recent work has largely focussed on Mit and Bee.

More recent work on Mite is on GitHub. The rest of the material on this page refers to the version developed for my PhD.

My PhD research was into virtual machines, with the aim of producing a system which quickly produces good native code by just-in-time translation. This system is called Mite, and is intended to be a good target for all compiled languages.

Mite: a basis for ubiquitous virtual machines
My PhD dissertation; it is much shorter and, I hope, more readable than most.

The following papers about Mite are also available:

Mite's semantics
A formal semantics.
Mite's assembly language
Mite's assembler syntax, and extensions to the semantics.
Mite's object format
The specification of Mite's object module format.
Mite: a tutorial introduction
A brief tutorial. The best place to start.
Mite: a fast and flexible virtual machine
An introduction to Mite, given at EuroForth '98. A little out of date, but more readable than the specs.
Exceptional Mite: simple yet flexible non-local exits in a binary-portable VM
A detailed discussion of Mite's support for exception mechanisms. Incomplete.

The source code for the ARM/RISC OS implementation of Mite can be downloaded:


Last updated 2025/08/21