Fandom

Software-Wiki

FPr

869Seiten in
diesem Wiki
Seite hinzufügen
Diskussion0 Teilen

FPr (Function-level Programmierung rechtsassoziativ) ist ein Programmiersprachenkonzept, das sich an dem Kombinator-Stil der FP-Systeme orientiert, der von John Backus in der Turing-Award-Lecture[1] vorgeschlagen wurde. In FPr werden konsequent nur Infix-Kombinatoren (dyadische Operatoren) und (monadische) Funktionen unterstützt. Die durchgehende Einhaltung der referentiellen Transparenz ist der Grund, dass es in FPr, wie in den FP-Systemen, keine Variablen gibt.

Funktionales Programm für das Innere Produkt mit Kombinatoren Bearbeiten

In Anlehnung zum IP-Programm von John Backus:

ip == (trans map (1*2)&) \ (1+2)&

Andere Anwendungsbeispiele Bearbeiten

fakultät == ((1 &) , iota) \ (1 * 2) &
"Definition einer Funktion"
1:(list :: aa bb cc) → aa
2:(list :: aa bb cc) → bb
tail:(list :: aa bb cc) → (list :: bb cc)
reverse:(string :: 'hallo') → (string :: 'ollah')
(string :: 'hallo') map ucase& → (string :: 'HALLO')
(10&)+(20&)+(30&) → 60
((1='0'&)->*tail):(string::'000004711')   -->   (string :: '4711')
"while-Schleife"

Einige gebräuchliche Kombinatoren Bearbeiten

Applikation:    f : x
Komposition:    f o g
Konstruktion:   f1 , f2 , ... , fn , nil
Kondition:      p → f ; g
Konstante:      x &
ApplyToAll:     liste map f
Insert:         liste \ f
Filter:         liste filter p
Schleife:       p →* f

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. John Backus Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs (PDF). Stanford University, 1978
Info Sign  Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei Fandom

Zufälliges Wiki