Kurs 01852: Fortgeschrittene Konzepte funktionaler Programmierung
Martin Erwig
Der Kurs widmet sich weiterführenden Themen funktionaler Programmierung, die über die grundlegenden Aspekte des Kurses "Logisches und funktionales Programmieren" (01816) hinausgehen, sowie einigen wichtigen theoretischen Grundlagen funktionaler Programmiersprachen.
Zu Beginn werden die besonderen Konzepte moderner funktionaler Sprachen wie z.B. strenge Typisierung, parametrischer Polymorphismus, Datentypen und Pattern Matching am Beispiel der Sprache ML vorgestellt. Die mathematische Fundierung funktionaler Sprachen ermöglicht die formale Behandlung von Programmen. Dies wird anhand verschiedener Methoden zum Beweis von Programmeigenschaften oder aber auch zur Programmtransformation demonstriert. Als formale Grundlagen werden der Lambda-Kalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird das Verständnis funktionaler Programmiersprachen durch die Beschreibung verschiedener Implementierungsaspekte vertieft.
Zur Bearbeitung dieses Kurses ist es empfehlenswert, dass Sie sich ein ML-System für Ihren eigenen Rechner beschaffen.
- Ausführbare Programme von "Standard ML of New Jersey" für Windows 95/98/ME/NT/2000 sowie Linux und diverse Unices inklusive Installationsanleitungen finden Sie unter: Standard ML of New Jersey.
Verfügbar sind Versionen für Windows und UNIX.
- Software und Dokumentationen zu Moscow ML finden Sie unter : Moscow ML.
Moscow ML bietet Versionen für Unix, Windows, Mac, Mac OS X, DOS, OS/2.
Kursangebot der Fakultät für Mathematik und Informatik