91 रिपॉजिटरी
Utilities and abstractions for functional programming patterns.
Explore 91 awesome GitHub repositories matching part of an awesome list · Functional Programming. Refine with filters or upvote what's useful.
यह प्रोजेक्ट एक समुदाय-संचालित निर्देशिका है जो सॉफ्टवेयर टूल, फ्रेमवर्क और शैक्षिक सामग्रियों का एक व्यापक इंडेक्स है। यह एक ओपन-सोर्स नॉलेज बेस के रूप में कार्य करता है, जो डेवलपर्स को उच्च-गुणवत्ता वाली सामग्री खोजने में मदद करने के लिए विविध इंजीनियरिंग डोमेन और तकनीकी संसाधनों को एक संरचित वर्गीकरण में व्यवस्थित करता है। यह निर्देशिका अपने विकेंद्रीकृत पीयर-रिव्यू मॉडल के माध्यम से अलग दिखती है, जहाँ स्वतंत्र योगदानकर्ता सटीकता और प्रासंगिकता सुनिश्चित करने के लिए प्रविष्टियों को क्यूरेट, सत्यापित और अपडेट करते हैं। सभी जानकारी एक वर्ज़न-कंट्रोल, फ्लैट-फाइल मार्कडाउन फॉर्मेट में संग्रहीत की जाती है, जो पूरे संग्रह के लिए प्लेटफ़ॉर्म स्वतंत्रता, पारदर्शिता और ऑडिटेबिलिटी सुनिश्चित करती है। यह प्रोजेक्ट तकनीकी संसाधन खोज, पेशेवर करियर विकास और सॉफ्टवेयर विकास ज्ञान प्रबंधन सहित क्षमताओं के एक विशाल क्षेत्र को कवर करता है। यह संरचित शिक्षण पथों, इंफ्रास्ट्रक्चर और सुरक्षा टूल, डेटा प्रबंधन यूटिलिटी और स्वास्थ्य सेवा से लेकर डिजिटल मानविकी तक के क्षेत्रों के लिए विशेष संसाधनों तक पहुँच प्रदान करता है। रिपॉजिटरी को एक सार्वजनिक, वर्ज़न-कंट्रोल संग्रह के रूप में बनाए रखा जाता है, जो इसके संरचित डेटा तक प्रोग्रामेटिक पहुँच और समुदाय-संचालित अपडेट की अनुमति देता है।
Deep dives into functional programming techniques and architectural benefits.
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,
High-performance utility library.
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
Immutable data collections.
Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning
Library for creating and managing immutable data structures.
RxJS is a library for reactive programming that provides a framework for composing asynchronous and event-based programs. It utilizes observable sequences to model data flows, allowing developers to manage complex sequences of events through a declarative programming interface. The library implements the observer pattern to facilitate decoupled communication between data producers and subscribers. By employing a lazy execution model, streams remain dormant until a consumer explicitly subscribes, at which point data production is triggered. This approach enables the construction of predictable
Functional reactive library for data streams.
Immer is an immutable state management library used to create new versions of data structures. It allows the production of new state by mutating a temporary draft instead of using manual object spreading. The project implements structural sharing to reuse unchanged parts of a data tree between versions, which reduces memory consumption. It also functions as a JSON patch generator to calculate and output the differences between two state versions. To ensure data integrity, the library includes a state mutation protector that freezes data structures to detect and prevent accidental modificatio
Functional state management with immutability.
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
General-purpose utility library.
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
Functional utility library focused on composition.
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
Implements a full functional programming paradigm featuring immutability, pattern matching, and higher-order functions.
ReactiveUI is a .NET MVVM framework and functional reactive programming library designed to decouple application state from the user interface. It functions as a reactive state management tool that uses observable streams to handle mutable data and asynchronous event-driven logic. The framework provides a cross-platform UI toolkit that abstracts business logic from platform-specific views. This enables the creation of consistent user interfaces across multiple .NET platforms by utilizing platform-agnostic abstractions. The system focuses on application state management and decoupled UI testi
MVVM framework integrated with reactive extensions.
Rx.NET is a reactive programming framework and library for the .NET ecosystem used to compose asynchronous and event-based programs. It provides an observable data stream API that treats live sequences of information as collections, allowing developers to coordinate asynchronous event workflows using a declarative syntax. The project functions as an extension of language integrated query patterns to asynchronous streams. This allows for the filtering and transformation of asynchronous notifications and event sequences through the application of query operators. The framework covers asynchron
Core reactive extensions library for asynchronous programming.
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Functional language extensions and concurrency primitives.
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
Provides a set of small pure functions for atomic data transformations and functional validations.
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
Functional reactive programming library.
Functional library to reduce boilerplate and increase robustness.
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
High-performance utility library.
Toolz is a Python library that implements functional programming utilities for iterable transformation, dictionary manipulation, function composition, and lazy evaluation. It provides a set of pure functions designed to work with Python's built-in data structures, enabling concise and composable data processing workflows. What distinguishes toolz is its support for curried partial application, allowing functions to be incrementally applied and reused. It includes dictionary-centric operations that handle nested structures, and offers iterable chain transformers that combine mapping, filtering
Offers a collection of functional utilities for data processing.
Sugar, डेटा हेरफेर और परिवर्तन के लिए अतिरिक्त विधियों के साथ नेटिव ऑब्जेक्ट्स और प्रोटोटाइप का विस्तार करने के लिए डिज़ाइन की गई एक JavaScript उपयोगिता लाइब्रेरी है। यह ऑब्जेक्ट उपयोगिताओं, तिथि हेरफेर, स्ट्रिंग इन्फ्लेक्शन, और लापता या टूटी हुई मानक भाषा सुविधाओं के पॉलीफिलिंग के लिए एक टूलकिट के रूप में कार्य करता है। यह लाइब्रेरी वैश्विक प्रोटोटाइप को संशोधित किए बिना विधि चेनिंग को सक्षम करने के लिए सीधे बिल्ट-इन प्रोटोटाइप पर उपयोगिता विधियों को मैप करने या अस्थायी ऑब्जेक्ट्स में मानों को लपेटने की क्षमता प्रदान करती है। इसमें लापता आधुनिक भाषा कार्यक्षमता को लागू करके विभिन्न निष्पादन वातावरणों में सुसंगत व्यवहार सुनिश्चित करने के लिए एक पॉलीफिल सिस्टम भी शामिल है। क्षमताओं में अंतर्राष्ट्रीय तिथि स्वरूपण और मानवकृत तिथि स्ट्रिंग की पार्सिंग शामिल है। यह लाइब्रेरी स्ट्रिंग इन्फ्लेक्शन और सामान्यीकरण, नेस्टेड ऑब्जेक्ट्स के गहरे संपत्ति ट्रैवर्सल, और लोकेल-जागरूक सरणी सॉर्टिंग के माध्यम से प्राकृतिक भाषा प्रसंस्करण को भी संभालती है। इसके अतिरिक्त, यह परिवर्तनीय ऑब्जेक्ट्स को क्लोन करने और संख्याओं, तिथियों और स्ट्रिंग्स के लिए मान रेंज को परिभाषित करने के लिए टूल प्रदान करती है।
Native object extension library.
Coconut एक फंक्शनल प्रोग्रामिंग भाषा है जो Python में कंपाइल होती है। यह एक सोर्स-टू-सोर्स कंपाइलर के रूप में कार्य करती है, जो रनटाइम संगतता बनाए रखने के लिए उच्च-स्तरीय फंक्शनल सिंटैक्स को संगत Python कोड में अनुवादित करती है। यह भाषा पैटर्न मैचिंग और जटिल डेटा संरचनाओं को नष्ट करने (destructuring) के लिए एक लॉजिक सिस्टम पेश करती है। यह गहरे रिकर्सिव फंक्शन कॉल के दौरान स्टैक ओवरफ्लो त्रुटियों को रोकने के लिए टेल कॉल ऑप्टिमाइज़ेशन के लिए एक तंत्र प्रदान करती है और परिणामों की स्पष्ट रूप से आवश्यकता होने तक गणनाओं को स्थगित करने के लिए एक लेज़ी इवैल्यूएशन इंजन का उपयोग करती है। यह प्रोजेक्ट बीजगणितीय डेटा प्रकारों, पाइपलाइन ऑपरेटरों और आंशिक अनुप्रयोग (partial application) के लिए समर्थन शामिल करता है। यह कई CPU कोर पर मैपिंग ऑपरेशनों को वितरित करके समानांतर डेटा प्रोसेसिंग के लिए एक फ्रेमवर्क भी प्रदान करता है।
Adds functional programming features to Python syntax.
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
Implements type-safe monads and functional composition.