HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs.
The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation steps at runtime.
The runtime features a garbage-free memory management system that reclaims unreachable data instantly through linear interaction nets. Its capability surface includes the ability to compile high-level languages into interaction nets and a parallel evaluator used for the verification of formal mathematical proofs.
The execution environment utilizes a work-stealing task scheduler to distribute independent computations across available hardware threads.