\begin{itemize} \item \ifger{was sind Seiteneffekte?}{What are side effects?} \item \ifger{was ist referenzielle Transparenz?}{What is referential transparency?} \item \ifger{kann ich referenzielle Transparenz mit Seiteneffekten haben?}{Can you have referential transparency with side effects?} \item \ifger{wovon hängt die Ausgabe einer Haskell Funktion ab?}{What does the output of a haskell function depend on?} \item \ifger{Was ist call-by-name? Was ist call-by-need?}{What is call-by-name? What is call-by-need?} \item \ifger{was ist}{What is} laziness? \item \ifger{Wann werden Typen in Haskell geprüft?}{When are types checked in haskell?} \item \ifger{Was sind die Unterschiede zwischen Listen und Tuplen?}{What are the differences between lists and pairs?} \end{itemize} \ifger{Ist dies eine \emph{total} oder eine \emph{partial} Funktion? Wie müsste man sie eventuell umschreiben?}{Is this a total or a partial function? Would you extend it? How?} \begin{haskellcode} data IntOrDouble = MkDouble Double | MkInt Int f :: Int -> IntOrDouble f 0 = 0.5 \end{haskellcode}