< Haskell

Functions in Haskell are one of its fundamental constructs. Some familiar functions like addition or multiplication are binary, taking two arguments and returning a single value. Formally, functions are binary relations between two sets, such that each member of the first set maps exactly to one member of the second set. 1 + 1 will always return 2, at least in decimal.

In Haskell, functions are largely defined not only by their definitions,

f x = x

but also by their declarations, which contain the types of their inputs and outputs.

f :: Integer -> Integer

bounds x to the set of Integers, which maps directly to the set of Integers. (1 == 1, after all)

Functions can be thought of abstractly as black boxes, which take input and return output. This is the basis for the lambda calculus, another heavy influencer of Haskell.

This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.