Funktionen als Daten

bisher:

f :: Int -> Int
f x = 2 * x + 5

äquivalent: Lambda-Ausdruck

f = \ x -> 2 * x + 5

Lambda-Kalkül: Alonzo Church 1936, Henk Barendregt 198*, ...

Funktionsanwendung:

(\ x -> A) B  =  A [x := B]
...falls x nicht (frei) in B vorkommt



Johannes Waldmann 2011-01-18