Definition
|
Jeder Bezeichner steht an jedem angewandten Vorkommen für den
gleichen Wert.
|
Konsequenzen |
|
|
Keine Zuweisungen, keine Schleifen
|
|
Programme können wie mathematische Formeln manipuliert
weden
|
|
Gleiches kann überall durch gleiches ersetzt werden
|
|
Math. Gesetze können zum Argumentieren, zum
Optimieren, zur Wiederverwendung
und zum automatischen Testen
genutzt werden.
|
Beispiel
|
Konkatenation auf Listen
|
|
Keine Zeiger, referenzielle Transparenz
|
|
Funktionen mit I/O müssen anders behandelt werden als
reine Funktionen
|
I/O
|
getChar: Funktion ohne Parameter?
|
Lösung |
Monaden
|
Idee |
Der Rest der Welt wird als eine Variable
aufgefasst.
Diese
wird bei I/O-behafteten Berechnungen durch die Funktionen
durchgefädelt
|
Ansatz
|
|
do-Notation
|
für I/O-behaftete Berechnungen
|
2.Beispiel
|
getLine
|
main
|
Transformation des Weltzustands
|