scala

object Function

[source: scala/Function.scala]

object Function
extends AnyRef
A module defining utility methods for higher-order functional programming.
Author
Martin Odersky
Version
1.0, 29/11/2006
Method Summary
def chain [a](fs : Seq[(a) => a]) : (a) => a
Given a sequence of functions f1, ..., fn, return the function f1 andThen ... andThen fn.
def const [T, U](x : T)(y : U) : T
The constant function
def curried [a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : (a1) => (a2) => (a3) => (a4) => (a5) => b
Currying for functions of arity 5.
def curried [a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : (a1) => (a2) => (a3) => (a4) => b
Currying for functions of arity 4.
def curried [a1, a2, b](f : (a1, a2) => b) : (a1) => (a2) => b
Currying for functions of arity 2. This transforms a function of arity 2 into a a unary function returning another unary function.
def curried [a1, a2, a3, b](f : (a1, a2, a3) => b) : (a1) => (a2) => (a3) => b
Currying for functions of arity 3.
def tupled [a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : ((a1, a2, a3, a4, a5)) => b
Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments.
def tupled [a1, a2, a3, b](f : (a1, a2, a3) => b) : ((a1, a2, a3)) => b
Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments.
def tupled [a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : ((a1, a2, a3, a4)) => b
Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments.
def tupled [a1, a2, b](f : (a1, a2) => b) : ((a1, a2)) => b
Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments.
def uncurried [a1, a2, a3, a4, b](f : (a1) => (a2) => (a3) => (a4) => b) : (a1, a2, a3, a4) => b
Uncurrying for functions of arity 4.
def uncurried [a1, a2, a3, a4, a5, b](f : (a1) => (a2) => (a3) => (a4) => (a5) => b) : (a1, a2, a3, a4, a5) => b
Uncurrying for functions of arity 5.
def uncurried [a1, a2, a3, b](f : (a1) => (a2) => (a3) => b) : (a1, a2, a3) => b
Uncurrying for functions of arity 3.
def uncurried [a1, a2, b](f : (a1) => (a2) => b) : (a1, a2) => b
Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2.
def untupled [a1, a2, b](f : ((a1, a2)) => b) : (a1, a2) => b
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.
def untupled [a1, a2, a3, b](f : ((a1, a2, a3)) => b) : (a1, a2, a3) => b
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.
def untupled [a1, a2, a3, a4, b](f : ((a1, a2, a3, a4)) => b) : (a1, a2, a3, a4) => b
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.
def untupled [a1, a2, a3, a4, a5, b](f : ((a1, a2, a3, a4, a5)) => b) : (a1, a2, a3, a4, a5) => b
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.
Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
def chain[a](fs : Seq[(a) => a]) : (a) => a
Given a sequence of functions f1, ..., fn, return the function f1 andThen ... andThen fn.
Parameters
fs - The given sequence of functions
Returns
...

def const[T, U](x : T)(y : U) : T
The constant function

def curried[a1, a2, b](f : (a1, a2) => b) : (a1) => (a2) => b
Currying for functions of arity 2. This transforms a function of arity 2 into a a unary function returning another unary function.
Parameters
f - ...
Returns
...

def curried[a1, a2, a3, b](f : (a1, a2, a3) => b) : (a1) => (a2) => (a3) => b
Currying for functions of arity 3.
Parameters
f - ...
Returns
...

def curried[a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : (a1) => (a2) => (a3) => (a4) => b
Currying for functions of arity 4.

def curried[a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : (a1) => (a2) => (a3) => (a4) => (a5) => b
Currying for functions of arity 5.

def uncurried[a1, a2, b](f : (a1) => (a2) => b) : (a1, a2) => b
Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2.

def uncurried[a1, a2, a3, b](f : (a1) => (a2) => (a3) => b) : (a1, a2, a3) => b
Uncurrying for functions of arity 3.

def uncurried[a1, a2, a3, a4, b](f : (a1) => (a2) => (a3) => (a4) => b) : (a1, a2, a3, a4) => b
Uncurrying for functions of arity 4.

def uncurried[a1, a2, a3, a4, a5, b](f : (a1) => (a2) => (a3) => (a4) => (a5) => b) : (a1, a2, a3, a4, a5) => b
Uncurrying for functions of arity 5.

def tupled[a1, a2, b](f : (a1, a2) => b) : ((a1, a2)) => b
Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments.
Parameters
f - ...
Returns
...

def tupled[a1, a2, a3, b](f : (a1, a2, a3) => b) : ((a1, a2, a3)) => b
Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments.

def tupled[a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : ((a1, a2, a3, a4)) => b
Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments.

def tupled[a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : ((a1, a2, a3, a4, a5)) => b
Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments.

def untupled[a1, a2, b](f : ((a1, a2)) => b) : (a1, a2) => b
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.

def untupled[a1, a2, a3, b](f : ((a1, a2, a3)) => b) : (a1, a2, a3) => b
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.

def untupled[a1, a2, a3, a4, b](f : ((a1, a2, a3, a4)) => b) : (a1, a2, a3, a4) => b
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.

def untupled[a1, a2, a3, a4, a5, b](f : ((a1, a2, a3, a4, a5)) => b) : (a1, a2, a3, a4, a5) => b
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.