A module defining utility methods for higher-order functional programming.
Given a sequence of functionsf1, ...,fn, return the functionf1 andThen ... andThen fn.
Given a sequence of functionsf1, ...,fn, return the functionf1 andThen ... andThen fn.
The given sequence of functions
The constant function
Tupling for functions of arity 2.
Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments.
These functions are slotted for deprecation, but it is on hold pending superior type inference for tupling anonymous functions.
Tupling for functions of arity 3.
Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments.
Tupling for functions of arity 4.
Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments.
Tupling for functions of arity 5.
Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments.
Uncurrying for functions of arity 2.
Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2.
Uncurrying for functions of arity 3.
Uncurrying for functions of arity 4.
Uncurrying for functions of arity 5.
Turns a functionA => Option[B] into aPartialFunction[A, B].
Turns a functionA => Option[B] into aPartialFunction[A, B].
Important note: this transformation implies the original function may be called 2 or more times on each logical invocation, because the only way to supply an implementation ofisDefinedAt is to call the function and examine the return value. See alsoscala.PartialFunction, methodapplyOrElse.
a functionT => Option[R]
a partial function defined for those inputs where f returnsSome(_) and undefined wheref returnsNone.
scala.PartialFunction, methodlift.
Un-tupling for functions of arity 2.
Un-tupling for functions of arity 2. This transforms a function taking a pair of arguments into a binary function which takes each argument separately.
Un-tupling for functions of arity 3.
Un-tupling for functions of arity 3. This transforms a function taking a triple of arguments into a ternary function which takes each argument separately.
Un-tupling for functions of arity 4.
Un-tupling for functions of arity 4. This transforms a function taking a 4-tuple of arguments into a function of arity 4 which takes each argument separately.
Un-tupling for functions of arity 5.
Un-tupling for functions of arity 5. This transforms a function taking a 5-tuple of arguments into a function of arity 5 which takes each argument separately.