www.wikidata.de-de.nina.az
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Eine Funktion hoherer Ordnung englisch higher order function ist in der Informatik eine Funktion die Funktionen als Argumente erhalt und oder Funktionen als Ergebnis liefert Der Begriff wird insbesondere im Lambda Kalkul verwendet der theoretischen Grundlage der Funktionalen Programmierung Dort ist er eng mit dem Currying verbunden einem Verfahren das Funktionen mit mehreren Argumenten in mehrere einparametrige Funktionen umwandelt Diese Transformation hat ihre Grundlage darin dass fur beliebige Mengen A B C displaystyle A B C die Funktionenraume A B C displaystyle A times B to C und A B C displaystyle A to B to C miteinander identifiziert werden konnen Folgende Funktion stellt ein Beispiel fur eine Funktion hoherer Ordnung dar f R N R x m x m displaystyle f colon mathbb R to mathbb N to mathbb R x mapsto m mapsto x m Diese Funktion bildet jeden reellen x displaystyle x Wert auf eine Funktion ab die eine ubergebene naturliche Zahl zu x displaystyle x addiert Beispielsweise ist f 10 5 m 10 5 m displaystyle f 10 5 m mapsto 10 5 m m displaystyle m wird wiederum auf x m displaystyle x m abgebildet Beispielsweise ist f 10 5 1 11 5 displaystyle f 10 5 1 11 5 Aus dem Lambda Kalkul stammt der K Kombinator K x y x displaystyle K x mapsto y mapsto x K x y displaystyle K x y ist fur alle y displaystyle y konstant Ein bekanntes Beispiel fur eine Funktion hoherer Ordnung ist der Differentialoperator weil er Funktionen auf Funktionen abbildet Ableitung und Stammfunktion Weitere wichtige Beispiele sind die so genannten Distributionen Im Fall f A K K displaystyle f A to mathbb K to mathbb K mit K R C displaystyle mathbb K in mathbb R mathbb C ist A K displaystyle A to mathbb K ein K displaystyle mathbb K Vektorraum und daher ist f displaystyle f ein Funktional Beispiel aus der funktionalen Programmierung BearbeitenIn den meisten funktionalen Programmiersprachen wie z B Haskell ist die Funktion hoherer Ordnung map definierbar Sie erhalt als Argument eine Funktion f und gibt eine Funktion zuruck die f auf jedes Element einer ubergebenen Liste anwendet Es ist zu beachten dass map Funktionen beliebigen Typs als Argument erhalten kann angedeutet durch die Typvariablen a und b map a gt b gt a gt b map f map f x xs f x map f xs map x gt x 2 1 2 3 4 wird ausgewertet zu 1 4 9 16 In einer multiparadigmatischen Programmiersprache wie Wolfram Language kann eine Funktion hoherer Ordnung folgendermassen aussehen In 1 Nest 3 amp 7 2 Out 1 13Weblinks BearbeitenSimon Thompson Type Theory and Functional Programming PDF 1 3 MB Abgerufen von https de wikipedia org w index php title Funktion hoherer Ordnung amp oldid 227850419