Grundlagen der Berechenbarkeit:

  • Lambda-Kalkül
  • primitive Rekursion
  • µ-Rekursion

Einführung in die Funktionale Programmierung (Haskell):

  • Syntax (Backus-Naur-Form)
  • primitive Datentypen, Listen, Tupel, Zeichenketten
  • Ausdrücke, Funktionsdefinitionen, Rekursion und Iteration
  • Funktionen höherer Ordnung, Polymorphie
  • Typsystem, Typherleitung und –überprüfung
  • Algebraische und abstrakte Datentypen
  • Ein- und Ausgabe
  • Such- und Sortieralgorithmen

Beweisen von Programmeigenschaften:

  • Termersetzung
  • strukturelle Induktion
  • Terminierung

Implementierung und Programmiertechnik:

  • Auswertungsstrategien für funktionale Programme
  • Modularer Programmentwurf

 

Literatur

  • Simon Thompson: Haskell: The Craft of Functional Programming, 2nd Edition, Addison-Wesley, 1999
  • Graham Hutton: Programming in Haskell, Cambridge University Press, 2007
  • Bird, R./Wadler, Ph.: Einführung in Funktionale Programmierung, Hanser Verlag, 1982
  • Hans Hermes: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit, Springer-Verlag 1978