Anonymous function

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer science and mathematics, an anonymous function is a function that has no name. Usually, a function is written like: f(x) = x^2 - x + 42. It can be written anonymously as x \rightarrow x^2 - x + 42 These are used in functional programming languages and other programming languages with support for anonymous functions (those which support 1st class functions).

Contents

[change] Examples in some programming languages

[change] Python

(lambda x: (lambda y: x * y))

The above code can be executed as a function:

>>>(lambda x: (lambda y: x * y))(3)(4)
12

[change] Haskell

\x -> \y -> x * y

The above code can be executed as a function:

(\x -> \y -> x * y) 3 4

The function can also be written in point-free (tacit) style:

(*)

[change] Standard ML

Not curried:

fn (x, y) => x * y
 
(* or *)
 
(op * )

Curried:

fn x => fn y => x * y

[change] JavaScript

// uncurried
function(x, y)
{
    return x * y;
}
 
// curried
function(x)
{
    return (function(y)
    {
        return x * y;
    });
}

[change] Scheme

;; uncurried
(lambda (x y) (* x y))
*
;; usage:
((lambda (x y) (* x y)) 3 4)
(* 3 4)
 
;; curried:
(lambda (x) (lambda (y) (* x y)))
 
;; usage:
(((lambda (x) (lambda (y) (* x y))) 3) 4)

[change] Other pages

[change] Other websites


Personal tools
Namespaces

Variants
Actions
Getting around
Print/export
Toolbox
In other languages