Interpreter: ============ * Ctrl-C beendet den Interpreter nicht mehr, sondern die aktuelle Berechnung. Sprache: ======== * Einige kleine Fehler wurden behoben. * Qualifizierte Konstruktor-Namen koennen nun auch in Mustern verwendet werden. * Neue Syntax fuer polymorphe Typen und Typabstraktion. Siehe Material zur Vorlesung. * Neue Syntax fuer Array-Subskription: a.[i] selektiert das i-te Element aus Array a. * "Guarded commands" -- Beispiel: function ggt (m : Nat, n : Nat) : Nat = if m ># n => ggt (m - n, n) | m == n => m | m #< n => ggt (m, n - m) end Bibliotheken: ============= * Neue Bibliotheken fuer flexible Arrays (FlexibleArray.bpl), d.h. Arrays mit variabler Groesse, und fuer Erweiterungen vom List-Modul (ListExt.bpl). * Exception "Sub" heisst jetzt "Index". * Neue Exception "EOF". * Restrukturierung der IO-Funktionen, siehe System.IO-Modul in System.bpl. Neu sind: read-line : String -> String read-from-file : String -> String write-to-file : (String,String) -> () * Einige andere Funktionen sind hinzugekommen, und einige Namen haben sich veraendert, siehe System.bpl.