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
microsoft avatar

microsoft/verona

0
View on GitHub↗
3,723 stars·169 forks·C++·MIT·16 viewsmicrosoft.github.io/verona↗

Verona

Verona is a research programming language designed to prevent data races through a system of concurrent ownership and deep immutability. It utilizes a deeply immutable memory model to ensure that complex objects cannot be mutated, allowing data to be shared across concurrent threads without synchronization locks.

The project features a deterministic parallel execution engine that ensures reproducible outputs regardless of thread timing. It employs a region-based memory manager to assign memory regions to specific threads or processes, reducing contention in producer-consumer workloads.

The system manages memory using a reference-counting garbage collector capable of handling immutable cycles across multiple sub-interpreters. It further supports parallel execution safety through state transfer via message passing and provides tools to visualize region structures.

Features

  • Deeply Immutable Memory Models - Implements a deeply immutable memory model that prevents mutation of complex objects to enable lock-free data sharing across threads.
  • Thread-Local Region Ownership - Implements a concurrency model where memory regions are owned by specific threads to prevent data races.
  • Ownership-Based Race Prevention - Managing shared data across multiple threads by applying strict ownership rules to prevent data races and memory corruption.
  • State Transfer - Moves state and ownership between isolated sub-interpreters using a messaging system for parallel safety.
  • Deep Immutability Enforcements - Implements recursive read-only modifiers to ensure complex objects cannot be mutated across concurrent threads.
  • Inter-Interpreter State Transfer - Transfers state and ownership between isolated sub-interpreters using message passing to ensure parallel safety.
  • Reference-Counting Garbage Collectors - Uses a reference-counting garbage collector to automatically manage memory for immutable objects.
  • Regional Object Allocation - Organizes memory into distinct regions to improve efficiency and reduce contention in parallel workloads.
  • Parallel Task Execution - Executes parallel tasks in a deterministic order to ensure consistent output across CPU cores.
  • Concurrent Programming Languages - A research programming language designed specifically for data-race prevention via concurrent ownership and deep immutability.
  • Deterministic Execution - Provides a deterministic parallel execution engine that ensures reproducible outputs regardless of thread timing.
  • Lock-Free Parallel Execution - Ensures race-free results by combining message passing and ownership transfers for parallel execution.
  • Region-Based Memory Managers - Employs a region-based memory manager to assign memory regions to specific threads, reducing contention in producer-consumer workloads.
  • Deterministic Execution - Provides a parallel execution engine that ensures reproducible and consistent outputs regardless of thread timing.
  • Memory Allocators - Implements a specialized memory allocator using message passing to reduce producer-consumer contention.
  • Message-Passing Allocators - Employs a message-passing allocator to distribute memory and reduce contention in producer-consumer workloads.
  • Cycle-Free Immutable Reclamation - Manages immutable objects across sub-interpreters using reference counting without requiring a local cycle collector.
  • Reference Counting - Manages the lifecycle of immutable data structures and circular references using reference counting.
  • Immutable Cycle Management - Uses reference counting to manage memory for deeply immutable data structures that contain circular references.

Star history

Star history chart for microsoft/veronaStar history chart for microsoft/verona

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.

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

Projects sharing features with Verona

These projects share indexed features with Verona. 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
  • papermc/foliaPaperMC avatar

    PaperMC/Folia

    4,275View on GitHub↗

    Folia is a regionised multithreaded Minecraft server fork and game engine designed to increase capacity and processing speed for large player counts. It functions as a multithreaded system that distributes entity and block logic across a thread pool to avoid single-core bottlenecks. The server utilizes a regional task scheduler that splits the game world into independent regions processed in parallel across multiple CPU cores. This architecture employs coordinate-based thread mapping and spatial task scheduling to ensure that game logic is executed on specific threads based on the physical lo

    Shellbukkitcraftbukkitjava
    View on GitHub↗4,275
  • borgo-lang/borgoborgo-lang avatar

    borgo-lang/borgo

    4,640View on GitHub↗

    Borgo is a statically typed language and compiler that transforms high-level syntax into Go source code. It functions as a transpiler designed to leverage the Go runtime while introducing a type system centered on algebraic data types and result-based error handling. The language distinguishes itself by replacing Go's multiple return values with result and option types, using a dedicated operator for concise error propagation. It implements sum types with exhaustive pattern matching and provides a tool to generate bindings for existing Go packages, automatically converting multi-value returns

    Rustcompilergolangprogramming-language
    View on GitHub↗4,640
  • bellard/quickjsbellard avatar

    bellard/quickjs

    10,411View on GitHub↗

    QuickJS is a lightweight, memory-efficient JavaScript engine and runtime designed for embedding within C applications. It provides a small binary footprint and supports the latest ECMAScript standards, enabling the execution of JavaScript code with fast startup times and low memory usage. The project includes a standalone JavaScript compiler that transforms source code into independent binary executables. These files run on a machine without requiring an external language runtime. The engine implements deterministic memory management through reference counting and cycle collection. It also p

    C
    View on GitHub↗10,411
Compare all 30 related projects→

Frequently asked questions

What does microsoft/verona do?

Verona is a research programming language designed to prevent data races through a system of concurrent ownership and deep immutability. It utilizes a deeply immutable memory model to ensure that complex objects cannot be mutated, allowing data to be shared across concurrent threads without synchronization locks.

What are the main features of microsoft/verona?

The main features of microsoft/verona are: Deeply Immutable Memory Models, Thread-Local Region Ownership, Ownership-Based Race Prevention, State Transfer, Deep Immutability Enforcements, Inter-Interpreter State Transfer, Reference-Counting Garbage Collectors, Regional Object Allocation.

Which projects share features with microsoft/verona?

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… papermc/folia — Folia is a regionised multithreaded Minecraft server fork and game engine designed to increase capacity and processing… higherorderco/hvm2 — HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime… bellard/quickjs — QuickJS is a lightweight, memory-efficient JavaScript engine and runtime designed for embedding within C applications.… borgo-lang/borgo — Borgo is a statically typed language and compiler that transforms high-level syntax into Go source code. It functions… ts-essentials/ts-essentials — ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives…