Eine First-Class-Funktion (englisch first-class function, deutsch etwa „Funktion erster Klasse“) bezeichnet in der Programmierung eine Funktion, die

  • einer anderen Funktion als Argument übergeben,
  • von einer anderen Funktion als Wert zurückgegeben,
  • einer Variablen zugewiesen,
  • in einer Datenstruktur gespeichert und
  • zur Laufzeit erzeugt

werden kann. Teilweise gilt auch die Möglichkeit, anonyme Funktionen zu definieren, als Kriterium für eine first-class-Funktion.

Erst damit wird es möglich, Closures zu erzeugen, anonyme Funktionen zu definieren oder Currying durchzuführen.

Der Begriff wurde von Christopher Strachey im Kontext functions as first-class citizens Mitte der 1960er Jahre geprägt.[1]

In vielen modernen Programmiersprachen (wie Haskell, JavaScript, Smalltalk und insbesondere verschiedenen Lisp-Dialekten wie Scheme) sind alle Funktionen first-class. Einen für Anfänger sehr leicht verständlichen Zugang zu diesem Konzept bietet die bildungsorientierte visuelle Programmiersprache Snap! (BYOB).

Siehe auch

Bearbeiten

Quellen

Bearbeiten
  1. Rod Burstall: Christopher Strachey—Understanding Programming Languages. In: Higher-Order and Symbolic Computation. Band 13, Nr. 1-2. Kluwer academic publishers, 2000, ISSN 1388-3690, S. 52, doi:10.1023/A:1010052305354 (englisch).

📚 Artikel Terkait di Wikipedia

First-Class-Objekt

werden kann. Der Begriff wurde von Christopher Strachey im Kontext functions as first-class citizens Mitte der 1960er Jahre geprägt. Ein Objekt ist von erster

Closure (Funktion)

(englisch).  Lambda functions. Abgerufen am 17. Oktober 2015 (englisch).  Anonymous functions. Abgerufen am 19. Mai 2015.  The Closure class. Abgerufen am 19

Lua

verwandten Sprachen): function factorial(n) return n == 0 and 1 or n * factorial(n - 1) end Funktionen gelten in Lua als First-Class-Objekte. Das bedeutet

Proteinfehlfaltungserkrankung

E. Piters, C. Culha u. a.: First missense mutation in the SOST gene causing sclerosteosis by loss of sclerostin function. In: Human Mutation. Band 31

SFC

Hongkongs Sequential Function Chart, eine Ablaufsprache einer Speicherprogrammierbaren Steuerung Sergeant First Class, Rang des amerikanischen Militärs

Prototype (Klassenbibliothek)

Konstruktor initialize: function () { this.data = "Hello World"; } }); var DataWriter = Class.create(FirstClass, { printData: function () { document.write(this

General Packet Radio Service

sinnstiftend. Ga: Schnittstelle der SGSN und GGSN zur Charging Control Function, also der Gebührenerfassung Gb: Verbindung der SGSN zur BSC, Frame Relay

Anonyme Funktion

Funktionen sind in funktionalen Programmiersprachen und anderen Sprachen mit First-Class-Funktionen allgegenwärtig, wo sie für den Funktionstyp dieselbe Rolle