Anonymous functionIn computer science and mathematics, an anonymous function is a function with no name. Usually, a function is written like: . It can be written anonymously as . Anonymous functions exist in most functional programming languages and most other programming languages where functions are values. Examples in some programming languagesEach of these examples show a nameless function that multiplies two numbers. PythonUncurried (not curried): (lambda x, y: x * y)
Curried: (lambda x: (lambda y: x * y))
When given two numbers: >>>(lambda x: (lambda y: x * y)) (3) (4)
12
HaskellCurried: \x -> \y -> x * y
\x y -> x * y
When given two numbers: >>> (\x -> \y -> x * y) 3 4
12
The function can also be written in point-free (tacit) style: (*)
Standard MLUncurried: fn (x, y) => x * y
Curried: fn x => fn y => x * y
Point-free: (op *)
JavaScriptUncurried: (x, y) => x * y
function (x, y) {
return x * y;
}
Curried: x => y => x * y
function (x) {
return function (y) {
return x * y;
};
}
SchemeUncurried: (lambda (x y) (* x y))
Curried: (lambda (x) (lambda (y) (* x y)))
Point-free: * C++ 11Uncurried: [](int x, int y)->int
{
return x * y;
};
Curried: [](int x)
{
return [=](int y)->int
{
return x * y;
};
};
C++ BoostUncurried: _1 * _2
Note: What you need to write boost lambda is to include <boost/lambda/lambda.hpp> header file, and using namespace boost::lambda, i.e. #include <boost/lambda/lambda.hpp>
using namespace boost::lambda;
Related pagesOther websites
|
Portal di Ensiklopedia Dunia