19 repository-uri
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 este o bibliotecă de utilitare funcționale TypeScript concepută pentru transformarea datelor, validare și gestionarea fluxurilor de lucru. Oferă o colecție de funcții helper tipizate pentru a manipula array-uri, obiecte și șiruri de caractere. Proiectul dispune de un toolkit de flux de lucru asincron pentru gestionarea promisiunilor, reîncercărilor și limitelor de concurență, alături de o suită de validatoare booleene pentru verificarea tipurilor primitive, obiectelor și promisiunilor. De asemenea, implementează modele de programare funcțională, cum ar fi compunerea funcțiilor, aplicarea parțială și modele de răspuns de tip error-first. Biblioteca acoperă o arie largă de capabilități, inclusiv gestionarea stării obiectelor cu deep cloning și merging, manipulări complexe de array-uri și formatarea șirurilor. În plus, oferă instrumente pentru optimizarea execuției, cum ar fi limitarea ratei (rate limiting) și caching-ul rezultatelor.
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 este un limbaj de programare funcțional care compilează în Python. Funcționează ca un compilator sursă-la-sursă, traducând sintaxa funcțională de nivel înalt în cod Python compatibil pentru a menține compatibilitatea la runtime. Limbajul introduce un sistem logic pentru pattern matching și destructurarea structurilor de date complexe. Oferă un mecanism pentru optimizarea apelurilor terminale (tail call optimization) pentru a preveni erorile de stack overflow în timpul apelurilor recursive profunde și utilizează un motor de evaluare leneșă (lazy evaluation) pentru a amâna calculele până când rezultatele sunt explicit necesare. Proiectul include suport pentru tipuri de date algebrice, operatori de pipeline și aplicare parțială. De asemenea, oferă un framework pentru procesarea paralelă a datelor prin distribuirea operațiunilor de mapare pe mai multe nuclee CPU.
Provides built-in syntactical support for lambdas, pipeline programming, and partial application.
Dollar este o bibliotecă de programare funcțională pentru Swift care oferă un toolkit cuprinzător pentru manipularea colecțiilor, procesarea șirurilor, calcule matematice și gestionarea datei și orei. Servește ca o suită de utilitare pentru filtrarea, agregarea și restructurarea array-urilor și dicționarelor. Proiectul implementează tipare de programare funcțională precum currying, memoization și compunerea funcțiilor. De asemenea, dispune de o interfață wrapper înlănțuibilă care permite aplicarea secvențială a mai multor transformări de date înainte de extragerea unui rezultat final. Biblioteca acoperă o gamă largă de domenii de capabilități, inclusiv igienizarea textului și conversia de carcase (casing), operațiuni cu expresii regulate și calculul valorilor matematice precum factoriale și divizori. Include, de asemenea, instrumente pentru parsarea timestamp-urilor Unix și calcularea decalajelor de timp relative. Toolkit-ul extinde tipurile bibliotecii standard Swift cu metode generice pentru transformarea și agregarea datelor.
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.
Acest proiect oferă un model structural pentru organizarea aplicațiilor React și TypeScript prin decuplarea logicii de business de componentele interfeței utilizator și infrastructura externă. Implementează o arhitectură stratificată care izolează regulile de domeniu de bază, asigurându-se că aplicația rămâne independentă de framework-uri, biblioteci sau implementări de servicii externe specifice. Arhitectura se bazează pe principiile de injecție a dependențelor și inversiune pentru a gestiona implementările serviciilor, permițând modularitatea și testarea mai ușoară. Prin utilizarea unui nucleu funcțional și a unui shell imperativ, sistemul separă efectele secundare de logica de business pură, în timp ce contractele de tip partajate și siguranța strictă a tipurilor asigură structuri de date consistente în toate modulele aplicației. Abordarea facilitează crearea de cazuri de utilizare și entități de domeniu agnostice față de framework, care pot fi testate și menținute în izolare. Prin definirea interfețelor abstracte pentru servicii externe și implementarea straturilor de traducere a datelor, proiectul asigură că codul specific infrastructurii nu se scurge în logica de business primară.
Methodology for building software using pure functions and immutable data patterns to improve maintainability.