Repository files navigation
HVM
HVM is a high-performance runtime for the Interaction Calculus.
NOTE: you're here before launch. Use at your own risk.
Building and Running
# Build clang -O2 -o src/hvm src/hvm.c # Run a file (use collapse mode by default) hvm devs/test/file.hvm -s -C10 # Run all tests ./devs/test/_all_.sh # Run a benchmark file hvm devs/bench/u32_fib.hvm -s
Flags:
-sshows performance stats-Dprints each intermediate reduction step with interaction labels-C10collapses and flattens superpositions (limit to 10 lines)
Examples
@main = ((@add 1) 2)
//3
@main = (&{1, 2} + 10)
//11
//12
@main = (! x &A= 3; (x₀ + x₁))
//6
Documentation
- Theory: docs/theory/interaction_calculus.md
- Core language: docs/hvm/core.md
- Memory layout: docs/hvm/memory.md
- Interaction rules: docs/hvm/interactions/