30 open-source projects similar to jashkenas/underscore, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Underscore alternative.
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,
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The
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
1loc is a JavaScript utility library and multifaceted toolkit providing a collection of single-line functions for common mathematical, string, date, and geometric operations. It functions as a set of functional programming helpers and data validation predicates designed to perform atomic transformations and validations. The project includes a geometry math library for calculating distances, angles, and spatial overlaps between points and rectangles, alongside a text manipulation library for casting, capitalizing, and analyzing string content. The toolkit covers broader capability areas inclu
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
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
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
Remeda is a type-safe functional utility library for TypeScript designed for building data transformation pipelines. It provides a toolkit of helper functions for manipulating arrays and objects while maintaining strict type integrity throughout the process. The library is characterized by its support for both data-first and data-last calling styles. It utilizes lazy evaluation to process data collections, evaluating transformations only when the final result is requested to avoid creating intermediate collection copies. The toolkit covers collection manipulation, function composition, and t
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
This project is a reference guide and collection of implementation patterns for replacing legacy libraries with native JavaScript. It provides a vanilla JavaScript reference guide, a modern web API cookbook, and a DOM manipulation cheat sheet to help migrate frontend dependencies to standard browser APIs. The project focuses on mapping library functions to native interfaces for DOM manipulation, network requests, and event handling. It includes a utility pattern library for common tasks such as string cleaning, type checking, and element styling. The covered capabilities include DOM element
This project is a comprehensive Lisp AI implementation library that provides reference implementations for various artificial intelligence paradigms and symbolic algorithms. It functions as a multi-purpose toolkit containing a logic programming engine, a natural language processing suite, and a symbolic mathematics toolkit. The library is distinguished by its diverse architectural frameworks, including a Prolog-style execution engine that uses unification and goal-driven backtracking, and a system for simulating human decision-making through expert system shells and certainty factors. It also
is.js is a JavaScript validation library and data type checker. It provides a suite of utilities to verify whether variables are primitives, arrays, functions, or specific object types. The project allows for the implementation of custom validation logic and the use of naming namespaces to override default rules and regular expressions. It covers a broad range of validation capabilities, including numeric arithmetic properties, date and time analysis for relative and absolute ranges, and string format verification for patterns such as emails, URLs, and IP addresses. The library also includes
This project is a comprehensive JavaScript programming tutorial and language reference. It serves as a web development education resource providing instruction on modern language fundamentals, object-oriented design, and advanced asynchronous programming patterns. The resource functions as both a frontend development guide and a technical reference. It covers core language features such as closures, prototypes, promises, and typed arrays, while providing practical lessons on managing browser data and handling network requests. The content spans several key capability areas, including browser
Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It functions as an abstract syntax tree manipulation tool and a template parser, allowing for the conversion of scripts into visitable trees for analysis, modification, and rendering. The engine is specifically designed for Native AOT compatibility, utilizing a reflection-free API to execute templates in trimmed environments. It also provides a dedicated parser and conversion system for Liquid templates, enabling the migration and execution of Liquid scripts within .NET. The project cov
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
art-template is a JavaScript templating engine and HTML template compiler that transforms custom syntax and script statements into optimized HTML output. It functions as a precompiled template engine that converts template source into standalone JavaScript functions to render dynamic content from data. The engine features a template inheritance framework that organizes layouts through nesting, blocks, and inclusions to create reusable components across multiple files. It incorporates automatic output sanitization and encoding to prevent cross-site scripting attacks. The system includes capab
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
This project is a localized educational resource for learning the Rust programming language, providing a comprehensive guide and technical specifications translated into Simplified Chinese. It serves as an instructional tool for studying language idioms, memory management, and type systems. The repository focuses on software documentation localization, converting official guides into Simplified Chinese to increase accessibility for non-English speakers. It utilizes a markdown-based system to organize content and supports multi-format export to static HTML, PDF, and EPUB formats for both web a
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
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
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
This project is a comprehensive collection of frontend development best practices and standards. It provides guides for writing semantic HTML, efficient CSS, and functional JavaScript to improve overall web performance and accessibility. The repository establishes frameworks for modern CSS architecture, focusing on specificity management and the use of Flexbox and Grid for predictable layouts. It outlines patterns for functional JavaScript programming, emphasizing the use of pure functions and composition to reduce execution time and dependency bloat. The guidelines cover several core capabi
Liquid is a secure template engine and markup language used to generate dynamic HTML or text by combining static templates with backend data. It functions as a web template renderer that transforms markup into final output while restricting available logic to prevent arbitrary code execution. The engine focuses on secure markup execution, providing a restricted environment where user-provided templates cannot access sensitive system data. It utilizes a safe evaluation sandbox to ensure that only a predefined set of instructions can be executed. The system includes capabilities for template s
Returns is a functional programming library for Python that provides type-safe containers for managing state, error handling, and optionality. It serves as a monadic container library and a type-safe error handling framework, replacing traditional try-catch blocks and null checks with Result and Optional containers to treat exceptions as data. The project is distinguished by its use of a specialized Mypy static analysis plugin to validate functional pipelines and emulate higher kinded types. It provides mechanisms for isolating side effects through IO containers and offers a framework for typ
Grav is a flat-file content management system that eliminates the need for a traditional database by storing site content and configuration in human-readable Markdown and YAML files. Built as a modular PHP web framework, it uses a hierarchical page routing system where the physical directory structure directly determines the site's URL paths. The platform is distinguished by its event-driven plugin architecture and a command-line interface that prioritizes system administration, deployment, and maintenance tasks. It utilizes a blueprint-driven system to generate administrative forms from stru
Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil
Lin-ui is a component library and development toolkit designed specifically for creating WeChat Mini Program applications. It functions as a responsive UI framework that provides pre-built user interface components and a set of helper functions for mobile app environments. The project includes a build tool focused on mini program bundle optimization, allowing for the compilation of specific components and the removal of unused assets to reduce package size. It also features a system for responsive interface design that translates static pixel values into flexible units for different screen si
Cash is a lightweight DOM manipulation library and HTML element wrapper designed as an alternative to jQuery for selecting and modifying elements in modern browsers. It functions as a modular DOM framework and JavaScript utility library, providing a system to wrap DOM nodes into actionable collections for batch processing. The project is built with a modular design that supports tree-shaking, allowing build tools to exclude unused methods to minimize the final bundle size. It provides mechanisms for extending the core functionality and collection prototypes to implement reusable plugins and c
A functional programming library for TypeScript/JavaScript