11 dépôts
Techniques for creating new functions by pre-filling a subset of the original function arguments.
Distinct from Function Argument Passing: Focuses on the creation of continuation functions via predefined arguments, not just general argument passing semantics.
Explore 11 awesome GitHub repositories matching programming languages & runtimes · Partial Application. Refine with filters or upvote what's useful.
Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil
Creates continuation functions with predefined arguments to simplify integration into complex asynchronous control flows.
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 partial application to create specialized functions by pre-filling a subset of arguments.
This project is a technical interview preparation resource focused on JavaScript. It provides a collection of common technical questions, detailed answers, and conceptual quizzes designed to help users master core language fundamentals and browser APIs. The resource utilizes an interactive infrastructure that includes a coding workspace with in-browser runtime execution and an automated test suite to validate code correctness. It organizes content through curated learning paths and modular concept mapping to decompose complex language fundamentals into searchable study modules. The curriculu
Implements techniques for creating continuation functions by pre-filling subset arguments.
PureScript is a statically typed, purely functional programming language that compiles to JavaScript. It is designed as a cross-platform frontend language for building safe web applications, utilizing a static type system and a JavaScript compiler to ensure program correctness across browser and server environments. The language is distinguished by its emphasis on mathematical purity, featuring a robust type system with first-class support for monads. It provides a sophisticated toolset for static verification, including algebraic data types, type classes, and automatic type inference to reje
Supports the creation of new functions by pre-filling a subset of a curried function's arguments.
Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides a wide range of reusable components, data structures, and algorithms designed to add capabilities to the base language across different platforms. The project is distinguished by its extensive focus on compile-time template metaprogramming and generic programming. It implements advanced architectural patterns such as policy-based design, concept-based type validation, and the use of SFINAE for conditional template resolution to minimize runtime overhead. The library covers a
Implements techniques for creating new functions by pre-filling a subset of original arguments.
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
Supports creating specialized functions by pre-filling a subset of the original function arguments.
Implements partial application to pre-fill function arguments from the left or right.
Rhai est un moteur de script embarqué et un langage à typage dynamique conçu pour être intégré dans des applications Rust. Il fonctionne comme un compilateur d'arbre de syntaxe abstraite (AST) et une couche d'interopérabilité native, permettant aux développeurs de mapper des types et des fonctions Rust dans un environnement de script pour une communication bidirectionnelle. Le projet sert de framework pour créer des langages dédiés (DSL) personnalisables. Il permet de définir des opérateurs, une syntaxe et des environnements d'exécution restreints personnalisés, facilitant la création de langages spécialisés avec des jeux de fonctionnalités sur mesure. Le moteur couvre un large éventail de capacités, notamment le sandboxing avec limitation de ressources pour une exécution sécurisée, l'organisation modulaire du code et un traitement complet des données pour les types numériques, chaînes de caractères et binaires. Il fournit également des outils pour la manipulation d'AST, la sérialisation de l'état d'exécution et l'observabilité au runtime via l'inspection de la pile d'appels et des interfaces de débogage. Le moteur est conçu pour un déploiement multiplateforme sur tout CPU ou système d'exploitation supporté par le compilateur natif.
Generates new function pointers by pre-filling a subset of arguments for later execution.
Ce dépôt est une collection de défis de codage JavaScript et un guide d'entretien complet. Il fournit des implémentations de référence et des exemples éducatifs conçus pour aider les développeurs à maîtriser les fondamentaux du langage et à se préparer aux entretiens techniques. Le projet couvre un large éventail d'implémentations spécialisées, incluant des modèles de programmation fonctionnelle comme le currying et l'application partielle, ainsi que des modèles asynchrones pour le contrôle de la concurrence. Il inclut également des exemples pratiques de manipulation du Document Object Model (DOM) et l'implémentation de structures de données courantes telles que les piles et les files d'attente. Globalement, la collection couvre des fonctionnalités avancées du langage, des implémentations de modèles de conception et la manipulation de structures de données. Elle aborde une surface qui inclut la programmation asynchrone, l'interaction DOM, les modèles de création orientés objet et les opérations primitives de bas niveau.
Provides implementations for creating new functions by pre-filling a subset of the original arguments.
Il s'agit d'une bibliothèque de plages C++ et d'une extension de la Standard Template Library qui fournit une collection d'algorithmes composables et de vues paresseuses pour traiter des séquences de données. Elle fonctionne comme un framework de traitement de séquence paresseux et une bibliothèque de métaprogrammation de modèles pour manipuler des listes de types et effectuer des calculs de type à la compilation. Le projet permet des modèles de programmation fonctionnelle en C++ grâce à l'utilisation de la syntaxe de pipe et de l'application partielle pour créer des chaînes de transformation de données lisibles, de gauche à droite. Il permet la construction de pipelines de données paresseux qui filtrent et transforment les éléments à la demande pour réduire la surcharge mémoire et éviter les copies inutiles. La bibliothèque couvre de larges domaines de capacité, y compris la manipulation de séquences, la manipulation de types à la compilation et l'implémentation de types de plage et d'itérateurs personnalisés. Elle fournit des outils pour la mutation de conteneurs sur place, la répartition d'algorithmes basée sur la projection et la gestion de listes de types via une série d'appelables au niveau du type.
Provides utilities to create new callables by pre-filling a subset of original function arguments.
Returns est une bibliothèque de programmation fonctionnelle pour Python qui fournit des conteneurs typés pour gérer l'état, la gestion d'erreurs et l'optionalité. Elle sert de bibliothèque de conteneurs monadiques et de framework de gestion d'erreurs typé, remplaçant les blocs try-catch traditionnels et les vérifications de nullité par des conteneurs Result et Optional pour traiter les exceptions comme des données. Le projet se distingue par son utilisation d'un plugin d'analyse statique Mypy spécialisé pour valider les pipelines fonctionnels et émuler des types d'ordre supérieur. Il fournit des mécanismes pour isoler les effets de bord via des conteneurs IO et offre un framework pour l'injection de dépendances typée qui diffère la fourniture des dépendances jusqu'à l'exécution finale d'un calcul. La bibliothèque couvre un large éventail de primitives fonctionnelles, incluant le currying, l'application partielle et la composition de pipelines de données déclaratifs. Elle prend en charge la gestion de workflow asynchrone en enveloppant les coroutines dans des conteneurs pour enchaîner des opérations non bloquantes et inclut des utilitaires pour la gestion du cycle de vie des ressources et la vérification des lois algébriques pour les conteneurs personnalisés.
Creates new functions by pre-filling a subset of the original function arguments while maintaining type safety.