30 open-source projects similar to tobyhede/go-underscore, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Go Underscore alternative.
Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie
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
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
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
Postmodern immutable and persistent data structures for C++ — value semantics at scale
C++ library for value-oriented design using the unidirectional data-flow architecture — Redux for C++
Transducers for C++ — Clojure style higher order push/pull sequence transformations
Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties. The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream
go-functional is a library of iterators to augment the standard library
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift
This project is a functional programming course and automated coding curriculum designed to teach the core principles of the paradigm through a structured sequence of exercises and modules. It serves as an interactive programming tutorial where learners solve incremental problems and validate their understanding through a programming exercise suite. The curriculum is language-agnostic, focusing on core logic and paradigms rather than a specific language. It employs an automated toolchain that transforms source code into executable binaries to verify solutions. Correctness is validated using
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
Functional Programming Library for C++. Write concise and readable C++ code.
simple curry module, with nothing too clever, and full test coverage
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
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
A native functional ASP.NET Core web framework for F# developers.
🤠 Object property paths with wildcards and regexps 🌵
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 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
Functional programming in Java
An advanced, but easy to use, platform for writing functional applications in Java 8.