
HVM1
A research runtime that runs pure functional programs in parallel, without a garbage collector.
- Stars
- 11.4k
- Forks
- 437
- Licence
- MIT
- Language
- Cuda
- Last update
- 2 months ago
- Type
- Other
What it is
HVM1 is a runtime for a minimalist pure functional language, built on a model of computation called Interaction Nets. The README says it is lazy, has no garbage collector, and can run work across many cores automatically. The project describes itself as a prototype, with a production-ready version planned in a separate project, HVM-Core.
- Run the bubble sort and radix sort examples in the examples folder
- Compare single-thread and multi-thread timings of sorting programs, as the README's benchmarks do
- Read the lambda multiplication example to see how numbers are encoded in the language
Great for
- Researchers exploring parallel evaluation and interaction nets
- Developers curious about functional runtimes and how they schedule work
- Students studying lambda calculus or optimal evaluation
- People who want to benchmark parallel workloads against GHC
Not ideal for
- Teams needing a production-ready runtime, since the README says the first production version is still coming (it points to HVM-Core instead)
- Anyone expecting large speedups on inherently sequential algorithms, since the README's own bubble sort example shows no gain from extra cores
- Users who need a mature ecosystem, libraries, or tooling, which the README does not describe
How to get it
- 1
Clone and build from source
Clone the repository
git clone https://github.com/HigherOrderCO/HVM1 - 2
Run it
- Clone the repository and open the examples folder
- Read examples/sort/bubble/main.hvm to see the language syntax
- Follow the build instructions in the repository's README, which the provided text does not include
- 3
Get the most out of it
- Compare the .hvm example programs with their Haskell counterparts, as the README does
- Check the bench folder to see how the published timings were produced
- Follow HVM-Core for the planned production-ready version
Downloads
Strengths
- The README describes automatic parallelism, so programs are not manually annotated for multiple cores
- No garbage collection is needed, per the README
- Released under the permissive MIT license
Trade-offs
- The README explicitly calls the code a prototype and says correctness work is still ongoing
- Single-thread performance is behind GHC in the README's radix sort benchmark
- The README is truncated and does not give a clear install or run procedure, so setup details are unclear
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.