10 रिपॉजिटरी
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 10 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 कोडिंग मानक और कार्यात्मक प्रोग्रामिंग पैटर्न का एक सेट प्रदान करता है। यह पर्सिस्टेंट डेटा स्ट्रक्चर्स और एटॉमिक रेफरेंस के उपयोग के माध्यम से घोषणात्मक लॉजिक (declarative logic) को लागू करने और साझा स्टेट को प्रबंधित करने के लिए सर्वोत्तम प्रथाओं को स्थापित करता है। यह गाइड सार्वजनिक 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.