Eta-Reduktion
Eta-Reduktion oder η-Reduktion ist der Vorgang des Entfernens einer „zwecklosen“ Abstraktion. Die Bezeichnung stammt ursprünglich aus Betrachtungen über den Lambda-Kalkül; das Konzept an sich ist jedoch nicht auf diesen beschränkt. In einer Funktionsdefinition wie <math>f(x):=\sin(x)</math>, die man auch als <math>f:=x \mapsto \sin(x)</math> schreiben könnte, ist die Einführung eines Namens für das Funktionsargument von <math>f</math> mit keinem Nutzen verbunden. Die eta-reduzierte Variante lautet <math>f:=\sin</math>.
Der umgekehrte Vorgang (das explizite Benennen eines Parameters einer Funktion) wird η-Expansion genannt und findet beispielsweise dann Verwendung, wenn dies weitere nützliche Transformationen ermöglicht.
Beispiel aus der Programmierung (Haskell)
Die folgenden beiden Funktionsdefinitionen sind gleichbedeutend:
<syntaxhighlight lang="haskell"> addiereZehnZu x = (+) 10 x addiereZehnZu = (+) 10
-- in beiden Fällen ergibt die Ausführung von ...
addiereZehnZu 5
-- ... das Ergebnis 15. -- auch dies ist eine Eta-Reduktion.
</syntaxhighlight>