Ein- und Ausgabe in Gofer



next up previous
Next: Dialogues Up: Gofer-Kurzübersicht Previous: Layout rules -

Ein- und Ausgabe in Gofer

Von einem Programm, das über I/O Operationen mit dem Betriebssystem kommuniziert haben wir in der Regel die folgende Vorstellung:

(print stdout "Geben sie eine Zahl ein");
(read stdin number);
(print stdout "das Quadrat von ");
(print stdout (int2string number));
(print stdout "ist: ");
(print stdout (int2string (square number)))
Von derartigen Programmen interessiert nicht mehr der Wert einer Funktion sondern ihr Seiteneffekt, in Form eines Bildschirmausdrucks oder einer geänderten Datei. Reines funktionales Programmieren ist aber auf das Programmieren ohne Seiteneffekte ausgelegt.
Unsere Vorstellung von Input/Output Operationen widerspricht so dem funktionalen Paradigma im Wesentlichen an zwei Punkten. Wir können von lazy funktionale Sprachen also nicht mit dem uns vertrauten I/O Routinen rechnen.
Betrachten wir nun verschiedene Lösungen des I/O Problems in Gofer/Haskell.





next up previous
Next: Dialogues Up: Gofer-Kurzübersicht Previous: Layout rules -



Sven Eric Panitz
Mi., 01. Nov. 1995, 12:17:13