19 个仓库
Libraries and patterns for declarative data transformation and composition.
Distinguishing note: Focuses on programming paradigm support, distinct from general utility libraries.
Explore 19 awesome GitHub repositories matching software engineering & architecture · Functional Programming. Refine with filters or upvote what's useful.
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,
Implements a wide array of patterns for declarative data transformation and function composition.
This project is a community-driven directory of software resources, libraries, and tools designed to support iOS application development. It serves as a centralized reference point for developers, organizing a vast ecosystem of third-party components into a searchable, structured index to facilitate discovery and project integration. The repository distinguishes itself through its collaborative curation model, which aggregates disparate utilities into a single, maintainable catalog. By leveraging a flat-file documentation structure, it provides a clear overview of the tools available for nati
Composes declarative logic using functional patterns to process collections and handle data transformations in a predictable manner.
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
Facilitates a functional programming workflow using persistent collections to prevent accidental side effects.
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
Provides a comprehensive library for declarative data transformation and functional composition.
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
Serves as a comprehensive library for declarative data transformation and functional programming patterns in JavaScript.
Iosevka is a build system and design environment for creating highly configurable, programming-oriented typeface families. It functions as an open-source font development tool that compiles custom character sets and stylistic features into standard TrueType and web-ready font formats. The project utilizes a parametric design system and functional programming logic to define glyph construction, allowing for consistent styling across entire typeface families. Users can define typeface characteristics through a declarative configuration layer, which maps character variants and OpenType features
Utilizes functional programming logic to define glyph construction and programmatic manipulation of character metrics.
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
A comprehensive library implementing functional programming patterns for declarative data transformation and composition in JavaScript.
This project is a comprehensive programming tutorial and technical guide focused on the Java 8 language specification. It provides educational resources for implementing functional programming patterns, utilizing modern language syntax, and adopting updated API standards. The guide covers the transition to functional programming through the use of lambda expressions, method and constructor references, and functional interfaces. It also details the use of default interface methods to extend logic without breaking existing classes and the implementation of repeatable annotations. Additional co
Provides educational resources on functional programming patterns using lambdas and interfaces.
This library provides a declarative approach to conditional logic in TypeScript, replacing imperative branching with structural pattern matching. It functions as a tool for decomposing complex data structures and mapping them to specific execution branches, ensuring that all possible states are accounted for during development. The library distinguishes itself by enforcing exhaustive logic, which requires developers to address every possible branch of a data structure to prevent runtime errors. By leveraging compile-time type narrowing and recursive evaluation, it allows for the validation an
Provides a declarative approach to conditional logic that replaces nested if-else statements.
This project is a functional programming library and toolkit for building production TypeScript applications. It provides a system for managing concurrency, error handling, and resource lifecycles using functional effects. The project distinguishes itself through a comprehensive suite of specialized toolkits, including a dependency injection framework for decoupling service implementations, a workflow orchestrator for coordinating durable processes, and a SQL database toolkit for consistent data operations across multiple dialects. It also implements an OpenTelemetry instrumentation library f
Provides functional programming primitives and patterns to manage concurrency, error handling, and resource lifecycles.
Fantasy Land is a specification for algebraic interfaces in JavaScript. It defines a set of rules, naming conventions, and behavioral contracts for common functional programming structures to ensure consistent behavior and interoperability across the ecosystem. The project establishes a common language for defining computational contexts and data transformation interfaces. By providing a standard set of signatures, it enables different JavaScript libraries to work together through shared algebraic specifications. The specification covers a wide range of functional abstractions, including alg
Ensures interoperability between different JavaScript libraries through shared algebraic specifications and naming conventions.
OpenSCAD is a script-based 3D modeler and parametric CAD tool that generates three-dimensional solid objects from programmable scripts. It utilizes a constructive solid geometry engine to create complex shapes by performing boolean operations on basic geometric primitives. The system functions as a compiler that transforms a functional language into geometric representations, allowing for precise dimensional control through variables and functions. It features a WebAssembly implementation that enables the geometry pipeline to execute directly within web browsers. The software covers a broad
Utilizes functional programming paradigms and function-literals to create efficient and reusable geometry scripts.
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
Uses immutable data and pure functions to transform application state into user interfaces for the browser.
Radash 是一个 TypeScript 函数式实用工具库,专为数据转换、验证和工作流管理而设计。它提供了一系列类型化的辅助函数来操作数组、对象和字符串。 该项目具有用于管理 Promise、重试和并发限制的异步工作流工具包,以及一套用于验证原始类型、对象和 Promise 的布尔验证器。它还实现了函数式编程模式,如函数组合、偏函数应用和错误优先响应模式。 该库涵盖了广泛的功能,包括具有深克隆和合并的对象状态管理、复杂的数组操作和字符串格式化。它还提供了用于执行优化的工具,如速率限制和结果缓存。
Provides a comprehensive set of libraries for declarative data transformation and functional composition.
This project is a comprehensive guide and set of engineering standards for writing readable, maintainable, and scalable JavaScript code. It provides a framework for software architecture, refactoring patterns, and clean coding practices designed to improve codebase health and longevity. The guide emphasizes the application of SOLID principles and architectural strategies such as dependency inversion and the separation of concerns. It focuses on transforming complex conditional logic through polymorphism and refactoring, while promoting a transition from imperative loops to declarative functio
Advocates for declarative functional programming patterns over imperative loops to improve logic clarity.
Coconut 是一种编译为 Python 的函数式编程语言。它作为一个源到源编译器,将高级函数式语法转换为兼容的 Python 代码,以保持运行时兼容性。 该语言引入了一种用于模式匹配和解构复杂数据结构的逻辑系统。它提供了一种尾调用优化机制,以防止深度递归函数调用期间的栈溢出错误,并采用惰性求值引擎来推迟计算,直到明确需要结果为止。 该项目包括对代数数据类型、管道运算符和部分应用的支持。它还提供了一个通过跨多个 CPU 核心分发映射操作来进行并行数据处理的框架。
Provides built-in syntactical support for lambdas, pipeline programming, and partial application.
Dollar 是一个 Swift 函数式编程库,提供了一套用于集合操作、字符串处理、数学计算以及日期和时间管理的综合工具包。它作为过滤、聚合和重构数组及字典的实用工具集。 该项目实现了柯里化(currying)、记忆化(memoization)和函数组合等函数式编程模式。它还具备链式包装器接口,允许在提取最终结果之前按顺序应用多次数据转换。 该库涵盖了广泛的功能领域,包括文本清理和大小写转换、正则表达式操作,以及阶乘和除数等数学值的计算。它还包含用于解析 Unix 时间戳和计算相对时间偏移的工具。 该工具包通过泛型方法扩展了 Swift 标准库类型,以实现数据转换和聚合。
Implements functional programming patterns including currying, memoization, and composition for Swift.
Scenic is a research framework designed for the development and training of deep learning models, with a specific focus on computer vision and multimodal transformer architectures. It provides a comprehensive toolkit for defining neural network structures, managing large-scale data pipelines, and executing training workflows across distributed hardware environments. The framework is built upon a functional programming paradigm that utilizes hardware-agnostic tensor abstractions and just-in-time compilation to maximize computational efficiency. By employing modular layer composition, it allows
Employs pure functions and immutable data structures to define neural network transformations.
该项目为 React 和 TypeScript 应用提供了一种结构模式,通过将业务逻辑与用户界面组件及外部基础设施解耦。它实现了一种分层架构,隔离了核心领域规则,确保应用独立于特定的框架、库或外部服务实现。 该架构依赖依赖注入和控制反转原则来管理服务实现,从而实现模块化并简化测试。通过利用函数式核心和命令式外壳,系统将副作用与纯业务逻辑分离,同时共享类型契约和严格的类型安全确保了所有应用模块间数据结构的一致性。 该方法促进了框架无关的用例和领域实体的创建,这些实体可以在隔离状态下进行测试和维护。通过为外部服务定义抽象接口并实现数据转换层,该项目确保了基础设施特定的代码不会泄漏到主要业务逻辑中。
Methodology for building software using pure functions and immutable data patterns to improve maintainability.