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 , die man auch als schreiben könnte, ist die Einführung eines Namens für das Funktionsargument von mit keinem Nutzen verbunden. Die eta-reduzierte Variante lautet .
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) Bearbeiten
Die folgenden beiden Funktionsdefinitionen sind gleichbedeutend:
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.