Funktionale Programmierung – fortgeschrittene Konzepte und Anwendungen
Wintersemester 2019/20
Lehrbeauftragter:
Prof. Dr. Till Mossakowski
Sprache:
deutsch
Wochenstunden:
4h Vorlesung und Übung
Credits:
5 (plus 1 Zusatzkredit möglich)
Zuhörerkreis:
Die Übung vom 2019-12-18 fällt aus. Die folgenden Übungen werden von 17:00 (s.t.) bis 19:00 gehalten um den Aufgabenüberhang aufzuholen.
Inhalt:
Grundlagen: Algebraische Datentypen, Typvariablen und Polymorphie, Rekursion, Funktionen höherer Ordnung, Bananas, Lenses, Envelopes, Abstrakte Datentypen, Typklassen, existentielle Typen, Arbitrary-rank polymorphism
Imperatives Haskell: Aktionen, Zustände, Monaden, Arrows, Nebenläufigkeit, reaktive Systeme, Comonaden, Automatisches Testen von funktionalen Programmen mit HUnit und Quickcheck
Anwendungsbeispiele: z.B. Parsen von Text, Space Invaders, Theorembeweisen, Webentwicklung
Literatur:
https://www.haskell.org/documentation/
Chakravarty M.M.T., Keller G.C.: Einführung in die Programmierung mit Haskell
Marco Block, Adrian Neumann: Haskell-Intensivkurs: Ein kompakter Einstieg in die funktionale Programmierung
(unter dem Link innerhalb der FIN digital verfügbar)
Simon Thompson: Haskell. The craft of functional programming
Bryan O'Sullivan, Don Stewart, John Goerzen: Real World Haskell
(frei verfügbar)
Folien:
Teil 1
,
Quellen
.
Teil 2
,
Quellen
.
Teil 3
,
Quellen
.
Teil 4
,
Quellen
.
Teil 5
,
Quellen
.
Teil 6
,
Quellen
.
Teil 7
,
Quellen
.
Teil 8
,
Quellen
.
Teil 9
,
Quellen
(evtl. ist
cabal install random
nötig).
Teil 10
,
Quellen
.
Teil 11
,
Quellen
.
Teil 12
,
Quellen (nur innerhalb der OvGU)
.
Teil 13
,
Quellen
.
Übungsblätter:
Übungsblatt 01.
Übungsblatt 02.
Am 30.10.2019 findet keine Übung statt (s.o.), daher gibt es diese Woche kein Übungsblatt.
Übungsblatt 03.
Übungsblatt 04.
Die Übung vom 2019-11-13 wird auf den 2019-11-18 von 11:00 bis 13:00 in G29-E037 verschoben.
Übungsblatt 05.
Übungsblatt 06.
Die Übung vom 2019-11-27 wird auf den 2019-12-02 von 11:00 bis 13:00 in G29-E037 verschoben.
Übungsblatt 07.
Die Übung vom 2019-12-18 fällt aus.
Übungsblatt 08.
Übungsblatt 09.
Übungsblatt 10.
Übungsblatt 11.
11.hs
Beispielraster: normales Format
Beispielraster: kompaktes Format
Beispielraster: einzeiliges Format
Beispiellösungen Übungsblätter 10 u. 11, außer 10.3.
Kommentierte Lösungen
Code
Aktuelle Informationen:
Bei Fragen und Problemen wenden Sie sich bitte per E-Mail an den Webmaster.
Zur Homepage der Forschungsgruppe Theoretische Informatik
Webmaster