awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to facebook/immutable-js

Open-source alternatives to Immutable Js

30 open-source projects similar to facebook/immutable-js, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Immutable Js alternative.

  • immutable-js/immutable-jsAvatar immutable-js

    immutable-js/immutable-js

    33,060Vezi pe GitHub↗

    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

    TypeScript
    Vezi pe GitHub↗33,060
  • ramda/ramdaAvatar ramda

    ramda/ramda

    24,072Vezi pe GitHub↗

    Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines. The library is distinguished by its use of automatic function currying and a data-last argument order. These design patterns allow multi-argument functions to be partially applied, simplifying the construction of processing chains where data is passed through a sequence of operations. The toolkit covers broad data manipulation capabilities, including list processin

    JavaScriptjavascriptramda
    Vezi pe GitHub↗24,072
  • ankurp/dollarAvatar ankurp

    ankurp/Dollar

    4,240Vezi pe GitHub↗

    Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection manipulation, string processing, mathematical calculations, and date and time management. It serves as a utility suite for filtering, aggregating, and restructuring arrays and dictionaries. The project implements functional programming patterns such as currying, memoization, and function composition. It also features a chainable wrapper interface that allows multiple data transformations to be applied sequentially before extracting a final result. The library covers a wide range of capab

    Swift
    Vezi pe GitHub↗4,240

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Find more with AI search
  • lodash/lodashAvatar lodash

    lodash/lodash

    61,235Vezi pe GitHub↗

    Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,

    JavaScriptjavascriptlodashmodules
    Vezi pe GitHub↗61,235
  • workiva/go-datastructuresAvatar Workiva

    Workiva/go-datastructures

    7,901Vezi pe GitHub↗

    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

    Go
    Vezi pe GitHub↗7,901
  • louthy/language-extAvatar louthy

    louthy/language-ext

    7,057Vezi pe GitHub↗

    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

    C#
    Vezi pe GitHub↗7,057
  • mweststrate/immerAvatar mweststrate

    mweststrate/immer

    28,957Vezi pe GitHub↗

    Immer is an immutable state management library for JavaScript that enables the creation of new versions of state trees. It functions as a state container that uses a proxy-based handler to ensure data immutability. The library utilizes a copy-on-write mechanism and a draft-based mutation model. This allows users to write mutating code on a temporary proxy, which the system then uses to produce a new immutable result while keeping the original state unchanged. The project covers immutable state management and complex object cloning to facilitate predictable state transitions. These capabiliti

    JavaScript
    Vezi pe GitHub↗28,957
  • swannodette/moriAvatar swannodette

    swannodette/mori

    3,372Vezi pe GitHub↗

    ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript

    Clojure
    Vezi pe GitHub↗3,372
  • arximboldi/immerAvatar arximboldi

    arximboldi/immer

    2,854Vezi pe GitHub↗

    Postmodern immutable and persistent data structures for C++ — value semantics at scale

    C++
    Vezi pe GitHub↗2,854
  • dtao/lazy.jsAvatar dtao

    dtao/lazy.js

    5,975Vezi pe GitHub↗

    Lazy.js is a JavaScript library that implements a lazy evaluation model for processing collections and data streams. It defers all computation until iteration begins, building chains of transformations that execute only when values are consumed, avoiding intermediate arrays and buffering. The library wraps data sources into a uniform sequence interface, enabling operations like map and filter to be chained together without materializing intermediate results. The library extends lazy processing beyond simple collections to handle asynchronous data sources, DOM events, strings, and Node.js stre

    JavaScript
    Vezi pe GitHub↗5,975
  • liuxinyu95/algoxyAvatar liuxinyu95

    liuxinyu95/AlgoXY

    6,325Vezi pe GitHub↗

    AlgoXY is a functional programming educational book and technical publication produced as a LaTeX digital book. It serves as a programming education resource and library focused on functional algorithms and data structures. The project provides a collection of persistent data structures, such as trees and heaps, designed for immutable state management. It includes a series of implementation exercises and verified answers to teach core computer science concepts through the practical application of functional logic. The content covers the design of persistent data structures and the implementa

    TeXalgorithmsfunctional-programminghaskell
    Vezi pe GitHub↗6,325
  • getify/functional-light-jsAvatar getify

    getify/Functional-Light-JS

    16,763Vezi pe GitHub↗

    Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within JavaScript applications. It serves as a toolkit for declarative data processing, immutable data management, and the construction of complex logic through higher-order functions. The library focuses on a pragmatic implementation of functional programming, providing utilities for curried argument application and function composition. It emphasizes the use of pure functions to calculate state updates and manage application data without side effects. The project covers broad capabi

    JavaScript
    Vezi pe GitHub↗16,763
  • sodiray/radashAvatar sodiray

    sodiray/radash

    4,845Vezi pe GitHub↗

    Radash is a TypeScript functional utility library designed for data transformation, validation, and workflow management. It provides a collection of typed helper functions to manipulate arrays, objects, and strings. The project features an asynchronous workflow toolkit for managing promises, retries, and concurrency limits, alongside a suite of boolean validators for verifying primitive types, objects, and promises. It also implements functional programming patterns such as function composition, partial application, and error-first response patterns. The library covers a broad surface of cap

    TypeScriptfunctionshacktoberfestjavascript
    Vezi pe GitHub↗4,845
  • python-attrs/attrsAvatar python-attrs

    python-attrs/attrs

    5,799Vezi pe GitHub↗

    attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it

    Python
    Vezi pe GitHub↗5,799
  • facebook/draft-jsAvatar facebook

    facebook/draft-js

    22,641Vezi pe GitHub↗

    Draft-js is a framework for building customizable rich text editors within React applications. It functions as a content editable framework that separates the underlying data model from the visual rendering layer, acting as a rich text content engine to manage complex text data and formatting. The project utilizes an immutable state management system to ensure consistent updates and predictable undo history. It manages editor state through persistent data structures, providing an immutable data state manager to prevent accidental mutation. The framework includes capabilities for high perform

    JavaScript
    Vezi pe GitHub↗22,641
  • flix/flixAvatar flix

    flix/flix

    2,585Vezi pe GitHub↗

    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

    Flixflixfunctionalhacktoberfest
    Vezi pe GitHub↗2,585
  • vavr-io/vavrAvatar vavr-io

    vavr-io/vavr

    6,152Vezi pe GitHub↗
    Javafunctional-programminghacktoberfestimmutable-collections
    Vezi pe GitHub↗6,152
  • rtfeldman/seamless-immutableAvatar rtfeldman

    rtfeldman/seamless-immutable

    5,339Vezi pe GitHub↗

    This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax. The library functions as a converter that transforms standard mutable data into frozen structures and can convert them back for local modifications. This allows for a workflow where data is switched between immutable and mutable versions to perform bulk edits before locking the state again. The project provi

    JavaScript
    Vezi pe GitHub↗5,339
  • jashkenas/underscoreAvatar jashkenas

    jashkenas/underscore

    27,345Vezi pe GitHub↗

    Underscore is a JavaScript utility library providing a suite of functional programming and data manipulation helpers. It serves as a framework for transforming data collections, composing functions, managing objects, and performing precise data type validation without modifying core language prototypes. The project includes a functional programming toolkit designed to control function execution timing and behavior through techniques such as debouncing, throttling, and partial application. It also provides a dedicated object manipulation utility for cloning, merging, picking, and omitting prop

    JavaScript
    Vezi pe GitHub↗27,345
  • evhub/coconutAvatar evhub

    evhub/coconut

    4,338Vezi pe GitHub↗

    Coconut is a functional programming language that compiles to Python. It functions as a source-to-source compiler, translating high-level functional syntax into compatible Python code to maintain runtime compatibility. The language introduces a logic system for pattern matching and destructuring complex data structures. It provides a mechanism for tail call optimization to prevent stack overflow errors during deep recursive function calls and employs a lazy evaluation engine to defer computations until results are explicitly required. The project includes support for algebraic data types, pi

    Python
    Vezi pe GitHub↗4,338
  • immerjs/immerAvatar immerjs

    immerjs/immer

    28,957Vezi pe GitHub↗

    Immer is an immutable state management library used to create new versions of data structures. It allows the production of new state by mutating a temporary draft instead of using manual object spreading. The project implements structural sharing to reuse unchanged parts of a data tree between versions, which reduces memory consumption. It also functions as a JSON patch generator to calculate and output the differences between two state versions. To ensure data integrity, the library includes a state mutation protector that freezes data structures to detect and prevent accidental modificatio

    JavaScriptimmutableimmutablesreducer
    Vezi pe GitHub↗28,957
  • pytoolz/toolzAvatar pytoolz

    pytoolz/toolz

    5,117Vezi pe GitHub↗

    Toolz is a Python library that implements functional programming utilities for iterable transformation, dictionary manipulation, function composition, and lazy evaluation. It provides a set of pure functions designed to work with Python's built-in data structures, enabling concise and composable data processing workflows. What distinguishes toolz is its support for curried partial application, allowing functions to be incrementally applied and reused. It includes dictionary-centric operations that handle nested structures, and offers iterable chain transformers that combine mapping, filtering

    Python
    Vezi pe GitHub↗5,117
  • tobgu/pyrsistentAvatar tobgu

    tobgu/pyrsistent

    2,186Vezi pe GitHub↗

    Persistent/Immutable/Functional data structures for Python

    Python
    Vezi pe GitHub↗2,186
  • reactivex/rxjsAvatar ReactiveX

    ReactiveX/rxjs

    31,682Vezi pe GitHub↗

    RxJS is a library for reactive programming that provides a framework for composing asynchronous and event-based programs. It utilizes observable sequences to model data flows, allowing developers to manage complex sequences of events through a declarative programming interface. The library implements the observer pattern to facilitate decoupled communication between data producers and subscribers. By employing a lazy execution model, streams remain dormant until a consumer explicitly subscribes, at which point data production is triggered. This approach enables the construction of predictable

    TypeScriptjavascriptrxjs
    Vezi pe GitHub↗31,682
  • mauriciosantos/buckets-jsAvatar mauriciosantos

    mauriciosantos/Buckets-JS

    1,257Vezi pe GitHub↗

    A complete, fully tested and documented data structure library written in pure JavaScript.

    JavaScriptbagbinary-heapbinary-search
    Vezi pe GitHub↗1,257
  • martinus/robin-hood-hashingAvatar martinus

    martinus/robin-hood-hashing

    1,613Vezi pe GitHub↗

    Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20

    C++
    Vezi pe GitHub↗1,613
  • cameron314/concurrentqueueAvatar cameron314

    cameron314/concurrentqueue

    12,070Vezi pe GitHub↗

    ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer multi-consumer thread communication. It functions as a synchronization primitive designed to coordinate data flow between concurrent execution units using atomic operations rather than traditional mutex locking. The library distinguishes itself through a design that minimizes contention and synchronization overhead. It utilizes sub-queue token mapping to distribute workloads across partitioned internal queues and supports bulk operations to transfer multiple data elements in singl

    C++
    Vezi pe GitHub↗12,070
  • andrewplummer/sugarAvatar andrewplummer

    andrewplummer/Sugar

    4,506Vezi pe GitHub↗

    Sugar is a JavaScript utility library designed to extend native objects and prototypes with additional methods for data manipulation and transformation. It functions as a toolkit for object utilities, date manipulation, string inflection, and the polyfilling of missing or broken standard language features. The library provides the ability to map utility methods directly onto built-in prototypes or wrap values in temporary objects to enable method chaining without modifying global prototypes. It also includes a polyfill system to ensure consistent behavior across different execution environmen

    JavaScript
    Vezi pe GitHub↗4,506
  • alandefreitas/smallAvatar alandefreitas

    alandefreitas/small

    150Vezi pe GitHub↗

    C++ small containers

    C++
    Vezi pe GitHub↗150
  • greg7mdp/parallel-hashmapAvatar greg7mdp

    greg7mdp/parallel-hashmap

    3,192Vezi pe GitHub↗

    A family of header-only, very fast and memory-friendly hashmap and btree containers.

    C++
    Vezi pe GitHub↗3,192