19 repositorios
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 es una librería de utilidades funcionales de TypeScript diseñada para la transformación de datos, validación y gestión de flujos de trabajo. Proporciona una colección de funciones auxiliares tipadas para manipular arrays, objetos y cadenas. El proyecto cuenta con un toolkit de flujo de trabajo asíncrono para gestionar promesas, reintentos y límites de concurrencia, junto con una suite de validadores booleanos para verificar tipos primitivos, objetos y promesas. También implementa patrones de programación funcional como composición de funciones, aplicación parcial y patrones de respuesta de error primero. La librería cubre una amplia superficie de capacidades, incluyendo gestión de estado de objetos con clonación profunda y fusión, manipulaciones complejas de arrays y formateo de cadenas. Adicionalmente proporciona herramientas para la optimización de ejecución, como limitación de tasa (rate limiting) y caché de resultados.
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 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
Provides built-in syntactical support for lambdas, pipeline programming, and partial application.
Dollar es una biblioteca de programación funcional para Swift que proporciona un kit de herramientas integral para la manipulación de colecciones, procesamiento de cadenas, cálculos matemáticos y gestión de fechas y horas. Sirve como una suite de utilidades para filtrar, agregar y reestructurar arrays y diccionarios. El proyecto implementa patrones de programación funcional como currificación, memorización y composición de funciones. También cuenta con una interfaz de wrapper encadenable que permite aplicar múltiples transformaciones de datos secuencialmente antes de extraer un resultado final. La biblioteca cubre una amplia gama de áreas de capacidad, incluyendo saneamiento de texto y conversión de mayúsculas/minúsculas, operaciones de expresiones regulares y el cálculo de valores matemáticos como factoriales y divisores. También incluye herramientas para analizar marcas de tiempo Unix y calcular desplazamientos de tiempo relativos. El kit de herramientas extiende los tipos de la biblioteca estándar de Swift con métodos genéricos para la transformación y agregación de datos.
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.
Este proyecto proporciona un patrón estructural para organizar aplicaciones de React y TypeScript desacoplando la lógica de negocio de los componentes de la interfaz de usuario y la infraestructura externa. Implementa una arquitectura en capas que aísla las reglas de dominio centrales, asegurando que la aplicación permanezca independiente de frameworks, librerías o implementaciones de servicios externos específicos. La arquitectura se basa en principios de inyección de dependencias e inversión para gestionar las implementaciones de servicios, permitiendo la modularidad y pruebas más fáciles. Al utilizar un núcleo funcional y un shell imperativo, el sistema separa los efectos secundarios de la lógica de negocio pura, mientras que los contratos de tipo compartidos y la seguridad de tipos estricta aseguran estructuras de datos consistentes en todos los módulos de la aplicación. El enfoque facilita la creación de casos de uso y entidades de dominio agnósticas al framework que pueden probarse y mantenerse de forma aislada. Al definir interfaces abstractas para servicios externos e implementar capas de traducción de datos, el proyecto asegura que el código específico de la infraestructura no se filtre en la lógica de negocio primaria.
Methodology for building software using pure functions and immutable data patterns to improve maintainability.