FPr (Programmiersprache)
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.
Inhaltsverzeichnis
[Verbergen]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]
- Hochspringen ↑ John Backus Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs (PDF). Stanford University, 1978