FANDOM


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.