Fixpunkt-Kombinator

Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.

Ein Fixpunkt-Kombinator ist ein mathematischer Operator in Form einer Funktion höherer Ordnung y ^ {\displaystyle {\hat {y}}} , welcher von einer Funktion f {\displaystyle f} einen ihrer Fixpunkte liefert. Ein Fixpunkt x {\displaystyle x} der Funktion f {\displaystyle f} erfüllt die Bedingung

x = f ( x ) {\displaystyle x=f(x)}

und somit

y ^ f = x . {\displaystyle {\hat {y}}f=x.}

Durch Einsetzen ergibt sich die Eigenschaft des Fixpunkt-Kombinators dann als

y ^   f = f   ( y ^   f ) . {\displaystyle {\hat {y}}\ f=f\ ({\hat {y}}\ f).}

Spezielle Fixpunkt-Kombinatoren

Ein spezieller Fixpunkt-Kombinator ist der von Haskell Curry beschriebene Y-Kombinator des Lambda-Kalküls:

λ f . ( λ x . f   ( x   x ) )   ( λ x . f   ( x   x ) ) {\displaystyle \lambda f.(\lambda x.f\ (x\ x))\ (\lambda x.f\ (x\ x))}

Fixpunkt-Kombinatoren werden in verschiedenen Bereichen eingesetzt:

  • im untypisierten und im typisierten Lambda-Kalkül,
  • in der funktionalen Programmierung
  • und in der imperativen Programmierung.