Nameless functions that comprise a pattern for each of the arguments and a body that specifies how the result is calculated in terms of the arguments.

The arguments are denoted by writing / in front of their name and this is separated with -> from the body that specifies how the argument is used in calculating the result.

Examples

Syntax

/x -> x + x

Formalised curried functions

Lambda expressions can formalise the meaning of Curried Functions since

add :: Int -> Int -> Int
add x y = x + y

in which add takes x and y and returns x+y can also be interpreted as

add :: Int -> (Int -> Int)
add = \x -> (\y -> x + y)

which means that add takes x and returns a function, which in turn takes y and returns x+y.