Mathematisch-
Naturwissenschaftliche Fakultät
Programmiersprachen Prof. Klaus Ostermann
Leitung des Seminars David Binder Ingo Skupin
Kategorientheorie für Programmierer
Hausaufgabenblatt 8 – WS19
Tübingen, 19. Dezember 2019Aufgabe 1: Lektüre
Für die kommende Woche lesen Sie bitte Kapitel 20 und 21 und schicken Ihre Fragen bis Dienstag Abend an uns.
Aufgabe 2: Monaden — do-Notation
Gegeben sei folgendes Programm.
do g r e e t i n g <− [ " H e l l o " , " Hi " , " Dear " ] number <− [ 0 , 4 2 ]
s e p a r a t o r <− [ " " , " , " ]
r e t u r n ( g r e e t i n g ++ s e p a r a t o r ++ show number )
Führen Sie Desugaring für dieses Programm durch, sodass die do-Notation vollständig durch >>=ersetzt wird.
Aufgabe 3: Monaden — Programmieraufgabe
Bearbeiten Sie die Aufgaben im beigefügten Code in der Datei „Eval.hs“. Sie können Ihre Implementierung mit
„stack exec monads“ testen.