Skip to content

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
Step-by-step guide: how to use HVM1Install, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    Clone the repository

    git clone https://github.com/HigherOrderCO/HVM1
  2. 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. 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.