11 个仓库
Collections and containers designed to preserve previous versions of themselves when modified to ensure immutability.
Distinct from Persistent Data Structures: The provided candidates are either part of awesome-lists or irrelevant niches (Go resources, voice-based workflows). This requires a primary library category under Programming Languages & Runtimes.
Explore 11 awesome GitHub repositories matching programming languages & runtimes · Persistent Data Structures. Refine with filters or upvote what's useful.
This is a persistent data structure library for JavaScript that provides collections which prevent the direct mutation of objects and arrays. It serves as an immutable state management tool and functional programming utility, ensuring that data remains unchanged after creation to simplify change detection and state tracking. The library enables the maintenance of application state by producing new versions of data structures during updates. It focuses on efficient data comparison by checking actual content instead of memory references and supports a functional programming workflow to prevent
Provides a comprehensive library of persistent data structures for JavaScript that prevent direct mutation.
Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning
Implements persistent data structures that use structural sharing to efficiently preserve previous versions of state.
Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data. The project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-tim
Ships highly efficient immutable collections based on bitmapped vector tries to ensure stability and scalability.
go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance concurrent applications in Go. It provides a modular library of specialized algorithmic toolsets, including a lock-free collection library and an immutable data structure library. The project distinguishes itself through a suite of persistent AVL trees and hash array mapped tries that use branch-copying to preserve previous versions. It also implements non-blocking hash maps, queues, and tries that enable linearizable snapshots and concurrent updates without the use of mutual exclusion
Implements persistent data structures that preserve previous versions through branch-copying and structural sharing.
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Provides persistent, immutable data structures where modifications create new versions while sharing existing data.
AlgoXY 是一本函数式编程教育书籍和技术出版物,以 LaTeX 数字书籍形式制作。它作为一个编程教育资源和库,专注于函数式算法和数据结构。 该项目提供了一系列持久化数据结构(如树和堆),专为不可变状态管理而设计。它包含一系列实现练习和验证答案,通过函数式逻辑的实际应用来教授核心计算机科学概念。 内容涵盖了持久化数据结构的设计以及排序和搜索函数式算法的实现。这些材料以使用 LaTeX 构建系统制作的专业排版技术出版物形式交付。
Provides a collection of containers designed to preserve previous versions of themselves using structural sharing and immutability.
Implements persistent data structures with structural sharing for immutable collections that preserve prior versions.
This library provides a collection of specialized data structures for the Swift language that extend the standard library with advanced container types. It includes implementations for double-ended queues using ring-buffers, priority queues based on min-max heaps, and memory-efficient bit-set and bit-array storage for boolean values. The project features ordered collections that maintain elements in sorted order via B-tree implementations, as well as persistent sets and dictionaries that use compressed prefix trees to share data between mutated copies. It also provides specialized containers
Implements collections and containers that preserve previous versions through structural sharing to ensure immutability.
该项目为 Clojure 开发提供了一套软件架构指南、Lisp 编码标准和函数式编程模式。它确立了通过使用持久数据结构和原子引用来实现声明式逻辑和管理共享状态的最佳实践。 该指南涵盖了记录公共 API 和组织项目目录的标准,以确保可移植的库分发。它详细说明了应用一致的格式化和命名规则,以提高源代码可读性和团队协作。 其范围扩展到惯用开发模式,包括命名空间的组织、函数定义和测试套件的结构,以及宏的负责任设计。它还提供了关于处理与外部类型的互操作以及通过稳定坐标管理库分发的指导。
Advocates for the use of immutable collections to ensure thread safety and predictable performance.
Flix is a statically typed multi-paradigm programming language that combines functional, imperative, and logic programming paradigms within a single unified environment. It utilizes a constraint-driven execution environment to derive results by satisfying logical predicates rather than following linear sequential instructions. The language features a unification-based logic engine designed to solve complex computational problems through term unification and backtracking. This is supported by a core library of persistent immutable data structures that ensure side-effect free state management a
Ships a core library of persistent data structures to ensure side-effect free state management.
This project is a comprehensive library of type-safe, high-performance data structures for Go. By leveraging language-level generics, it provides reusable containers and algorithms that eliminate the need for runtime type assertions or interface casting, ensuring efficient and type-safe data management. The library distinguishes itself through its support for persistent data structures and specialized indexing. It utilizes copy-on-write semantics and memory sharing to maintain multiple versions of a collection, allowing for efficient modifications without duplicating entire datasets. Addition
Provides persistent data structures using copy-on-write semantics to maintain multiple versions of collections efficiently.