7 个仓库
Techniques for transforming functions to accept arguments one at a time through partial application.
Distinct from Function Argument Passing: The candidates focus on argument passing semantics or sanitization, not the functional pattern of currying and placeholders.
Explore 7 awesome GitHub repositories matching programming languages & runtimes · Function Currying. 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,
Provides utilities to transform functions into curried versions that support partial application via placeholders.
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 compiler-level optimizations for curried functions to reduce memory overhead during partial application.
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 execution of curried JavaScript functions by applying arguments sequentially.
Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces
Supports function currying for transforming multi-argument functions into chains of single-argument calls.
Ships an uncurrying utility that reverses the currying transformation for multi-argument invocation.
Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang
Implements function currying by allowing arguments to be pre-filled to create new specialized function pointers.
Dollar 是一个 Swift 函数式编程库,提供了一套用于集合操作、字符串处理、数学计算以及日期和时间管理的综合工具包。它作为过滤、聚合和重构数组及字典的实用工具集。 该项目实现了柯里化(currying)、记忆化(memoization)和函数组合等函数式编程模式。它还具备链式包装器接口,允许在提取最终结果之前按顺序应用多次数据转换。 该库涵盖了广泛的功能领域,包括文本清理和大小写转换、正则表达式操作,以及阶乘和除数等数学值的计算。它还包含用于解析 Unix 时间戳和计算相对时间偏移的工具。 该工具包通过泛型方法扩展了 Swift 标准库类型,以实现数据转换和聚合。
Implements functional patterns for currying and partial application to fix specific function arguments.