Eta-Reduktion
Programmiersprache
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)
BearbeitenDie 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.