awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
HigherOrderCO avatar

HigherOrderCO/HVM2

0
View on GitHub↗
higherorderco.com↗

HVM2

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.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Garbage-Free Runtimes - Implements a garbage-free runtime that reclaims memory instantly via linear interaction nets.
  • Interaction Combinator Graph Rewriting - Uses a graph-rewriting model based on interaction combinators to enable lock-free parallel execution across thousands of threads.
  • Interaction Net Runtimes - Uses a graph-based interaction net model to achieve optimal reduction and automatic parallelism without relying on a garbage collector.
  • Pure Functional Runtimes - Implements a high-performance execution environment for pure functional programs using interaction combinators and lazy evaluation.
  • Linear Interaction Memory - Reclaims unreachable data instantly through the structural properties of interaction nets to eliminate garbage collection pauses.
  • Managed Memory Allocators - Uses a structural model of computation to manage memory allocation and eliminate the need for a garbage collector.
  • Linear Memory Allocators - Ships a memory allocator that reclaims unreachable data through linear interaction nets.
  • Linear Reclamation Systems - Reclaims unreachable data instantly through linear interaction nets to avoid garbage collection pauses.
  • Manual Memory Management - Implements explicit control over memory allocation and deallocation to ensure predictable performance without garbage collection pauses.
  • Beta-Optimal Reduction Engines - Eliminates redundant computation steps at runtime through beta-optimality to perform automatic fusion and deforestation.
  • Beta-Optimal Reductions - Implements beta-optimal reduction to eliminate redundant computation steps in higher-order functions.
  • Lazy Evaluation - Defers the computation of expressions until results are required to eliminate redundant higher-order function calls.
  • Garbage-Free Memory Management - Reclaims memory instantly as data becomes unreachable using a linear interaction-net model to avoid collection pauses.
  • Function Execution Models - Runs lazy functional code using a beta-optimal model of computation to achieve high efficiency.
  • Heterogeneous Hardware Runtimes - Executes a single program across GPU and CPU cores simultaneously to achieve speedup without manual threading.
  • Reduction Optimizations - Executes complex functional patterns faster by applying beta-optimal reductions during runtime.
  • Linear Memory Management - Reclaims unreachable data instantly through the structural properties of linear interaction nets.
  • Manual Memory Reclamation - Frees unreachable data instantly as it becomes unused to avoid stop-the-world collection pauses.
  • Parallel Computing Implementation - Distributes independent sub-expressions across CPU cores using a work-stealing queue to maximize throughput.
  • Parallel Runtimes - Provides a high-performance execution environment that automatically distributes computational tasks across CPU and GPU threads.
  • Parallel Function Execution - Runs pure functional code across multiple CPU cores automatically by exploiting implicit parallelism via a work-stealing queue.
  • Automatic Functional Parallelism - Automatically executes pure functional code across multi-core CPUs and GPUs without manual locks.
  • Lock-Free Parallel Execution - Executes code across multi-core CPUs and GPUs without the need for manual locks or atomic operations.
  • Pure Functions - Runs functional code using a lazy evaluation model that eliminates redundant computations for higher-order functions.
  • Execution Runtimes - Provides a high-performance runtime for executing pure functional programs using lazy evaluation.
  • Lazy Evaluation Engines - Computes only necessary operations for final output through a lazy evaluation engine.
  • Rust Runtime Accelerations - Uses a systems-level Rust implementation to provide a high-performance, massively parallel runtime for functional programs.
  • Stop-The-World Pauses - Eliminates stop-the-world pauses by utilizing linear interaction nets for instant memory reclamation.
  • Interaction Net Engines - Uses a graph-rewriting engine to execute programs via local reduction rules.
  • High-Performance and Parallel Computing - Provides a high-performance environment that executes computationally intensive functional programs across parallel CPU and GPU resources.
  • MPI-Based Parallel Program Executions - Automatically distributes high-level code execution across multi-core CPUs and GPUs to achieve massive parallelism.
  • Graph-Based Execution Engines - Uses a graph-based execution engine to distribute functional programs across multiple cores without locks.
  • Pure Expression Execution - Runs side-effect-free code deterministically, enabling aggressive structural optimizations and safe parallel distribution.
  • System Interaction Modeling - Implements a computational model where nodes rewrite themselves through local rules to achieve massive parallelism.
  • Computational Parallelization - Distributes workloads across multiple processor cores automatically by organizing tasks into a network of interacting operations.
  • Redex Reduction Parallelization - Distributes expression processing across multiple threads using a work-stealing queue to increase throughput.
  • Heterogeneous Task Scheduling - Distributes interaction rules to CPU and GPU threads automatically to scale performance across thousands of parallel workers.
  • Compute Throughput Optimizers - Maximizes hardware utilization and computational speed using a concurrent model based on interaction combinators.
  • Work-Stealing Schedulers - Uses a work-stealing scheduler to distribute independent redexes across CPU and GPU threads for balanced workloads.
  • Multi-Core Workload Distribution - Partitions functional workloads across multiple physical processor cores using a work-stealing scheduler.
  • Rust Systems Programming - Implemented as a systems-level runtime in Rust to leverage zero-cost abstractions and fine-grained memory control.
  • Combinator-Based Scaling - Distributes complex computational workloads across thousands of threads using a model based on interaction combinators.
  • Evaluation Fusion - Merges composed function calls into single passes during lazy evaluation to remove redundant processing.
  • Functional Programming Libraries - Provides a runtime environment that implements core functional programming primitives and abstractions.
  • Hardware-Agnostic Parallelism - Automatically maps interaction rules to CPU cores and GPU threads for scalable performance across diverse hardware.
  • High-Performance Runtimes - Provides a high-performance execution engine optimized for throughput via beta-optimal reductions.
  • Beta-Optimal Reductions - Optimizes higher-order functions by eliminating redundant computation steps through beta-optimal reductions.
  • Runtime Fusions - Merges sequential function calls into a single pass during execution to reduce redundant processing.
  • Manual Memory Management - Implements an explicit memory management system that avoids the unpredictability of garbage collection.
  • Parallel Runtime Compilation - Transforms high-level code into interaction nets for automatic distribution across multiple processor cores.
  • Near-Linear Scaling Distributions - Achieves near-ideal speedup by distributing workloads across available hardware threads using a concurrent interaction model.
  • Formal Mathematical Proofs - Distributes the verification of formal mathematical proofs across all available processor cores using a parallel evaluator.
  • Parallel Verifiers - Ships a parallel evaluator used to accelerate the checking of formal mathematical proofs by distributing work across available cores.
  • Parallel Proof Evaluators - Accelerates the checking of formal mathematical proofs by distributing verification across all available cores.
  • Runtime Fusions - Combines nested function applications during evaluation to remove unnecessary intermediate data structures without requiring compile-time changes.
  • Redex Work-Stealing - Distributes the computation of expressions across a pool of threads using a work-stealing queue to maximize hardware utilization.
  • Parallel - Distributes functional computations across CPU and GPU cores without requiring manual locks.
11,290 stars·435 forks·Cuda·Apache-2.0·22 views

Star history

Star history chart for higherorderco/hvm2Star history chart for higherorderco/hvm2

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does higherorderco/hvm2 do?

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.

What are the main features of higherorderco/hvm2?

The main features of higherorderco/hvm2 are: Garbage-Free Runtimes, Interaction Combinator Graph Rewriting, Interaction Net Runtimes, Pure Functional Runtimes, Linear Interaction Memory, Managed Memory Allocators, Linear Memory Allocators, Linear Reclamation Systems.

Which projects share features with higherorderco/hvm2?

Projects with overlapping indexed features include: higherorderco/bend — Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and… joblib/joblib — Joblib is a suite of utilities for parallelizing computational workloads and optimizing the storage of large numerical… microsoft/napajs — Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… xtensor-stack/xtensor — xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an… triton-lang/triton — Triton is a parallel computing framework and high-level programming language designed for writing custom compute…

Projects sharing features with HVM2

These projects share indexed features with HVM2. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • higherorderco/bendHigherOrderCO avatar

    HigherOrderCO/Bend

    19,175View on GitHub↗

    Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and GPUs automatically. By translating functional source code into a graph-based intermediate representation, it enables massive parallel execution without requiring manual management of threads, locks, or atomic operations. The runtime operates as an interaction net engine, where computations are represented as networks of nodes that reduce through local rewriting rules. This model utilizes a work-stealing scheduler to distribute tasks across thousands of hardware threads, ensuring

    Rust
    View on GitHub↗19,175
  • microsoft/napajsMicrosoft avatar

    Microsoft/napajs

    9,180View on GitHub↗

    Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me

    C++
    View on GitHub↗9,180
  • joblib/joblibjoblib avatar

    joblib/joblib

    4,366View on GitHub↗

    Joblib is a suite of utilities for parallelizing computational workloads and optimizing the storage of large numerical datasets and function results. It functions as a parallel computing library and multiprocessing wrapper that distributes function execution across multiple CPU cores to accelerate independent tasks and computational loops. The project provides a disk caching framework that persists expensive function outputs to the filesystem, re-evaluating them only when input arguments change. It further specializes in the serialization of large numerical arrays, utilizing efficient compres

    Python
    View on GitHub↗4,366
  • c3lang/c3cc3lang avatar

    c3lang/c3c

    5,147View on GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    View on GitHub↗5,147
Compare all 30 related projects→