19 dépôts
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 est une bibliothèque d'utilitaires fonctionnels TypeScript conçue pour la transformation de données, la validation et la gestion de workflow. Elle fournit une collection de fonctions d'aide typées pour manipuler les tableaux, les objets et les chaînes de caractères. Le projet propose une boîte à outils de workflow asynchrone pour gérer les promesses, les tentatives et les limites de concurrence, aux côtés d'une suite de validateurs booléens pour vérifier les types primitifs, les objets et les promesses. Il implémente également des patterns de programmation fonctionnelle tels que la composition de fonctions, l'application partielle et les patterns de réponse error-first. La bibliothèque couvre une large surface de capacités, incluant la gestion d'état d'objet avec clonage profond et fusion, des manipulations de tableaux complexes et le formatage de chaînes. Elle fournit en outre des outils pour l'optimisation de l'exécution, tels que le rate limiting et la mise en cache des résultats.
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 est un langage de programmation fonctionnel qui compile vers Python. Il fonctionne comme un compilateur source-à-source, traduisant une syntaxe fonctionnelle de haut niveau en code Python compatible pour maintenir la compatibilité à l'exécution. Le langage introduit un système logique pour le pattern matching et la déstructuration de structures de données complexes. Il fournit un mécanisme d'optimisation des appels terminaux (tail call optimization) pour éviter les erreurs de débordement de pile lors d'appels de fonctions récursives profondes et emploie un moteur d'évaluation paresseuse pour différer les calculs jusqu'à ce que les résultats soient explicitement requis. Le projet inclut la prise en charge des types de données algébriques, des opérateurs de pipeline et de l'application partielle. Il fournit également un framework pour le traitement parallèle des données en distribuant les opérations de mapping sur plusieurs cœurs de CPU.
Provides built-in syntactical support for lambdas, pipeline programming, and partial application.
Dollar est une bibliothèque de programmation fonctionnelle pour Swift qui fournit une boîte à outils complète pour la manipulation de collections, le traitement de chaînes, les calculs mathématiques et la gestion des dates et heures. Elle sert de suite d'utilitaires pour filtrer, agréger et restructurer des tableaux et des dictionnaires. Le projet implémente des modèles de programmation fonctionnelle tels que le currying, la mémoïsation et la composition de fonctions. Il dispose également d'une interface de wrapper chaînable qui permet d'appliquer plusieurs transformations de données séquentiellement avant d'extraire un résultat final. La bibliothèque couvre un large éventail de domaines de capacités, incluant l'assainissement de texte et la conversion de casse, les opérations d'expressions régulières et le calcul de valeurs mathématiques comme les factorielles et les diviseurs. Elle inclut également des outils pour analyser les timestamps Unix et calculer des décalages temporels relatifs. La boîte à outils étend les types de la bibliothèque standard Swift avec des méthodes génériques pour la transformation et l'agrégation de données.
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.
Ce projet fournit un modèle structurel pour organiser les applications React et TypeScript en découplant la logique métier des composants d'interface utilisateur et de l'infrastructure externe. Il implémente une architecture en couches qui isole les règles de domaine principales, garantissant que l'application reste indépendante des frameworks, bibliothèques ou implémentations de services externes spécifiques. L'architecture repose sur des principes d'injection de dépendances et d'inversion pour gérer les implémentations de services, permettant la modularité et des tests plus faciles. En utilisant un noyau fonctionnel et un shell impératif, le système sépare les effets secondaires de la logique métier pure, tandis que les contrats de type partagés et la sécurité de type stricte garantissent des structures de données cohérentes dans tous les modules de l'application. L'approche facilite la création de cas d'utilisation et d'entités de domaine agnostiques au framework qui peuvent être testés et maintenus de manière isolée. En définissant des interfaces abstraites pour les services externes et en implémentant des couches de traduction de données, le projet garantit que le code spécifique à l'infrastructure ne fuit pas dans la logique métier principale.
Methodology for building software using pure functions and immutable data patterns to improve maintainability.