diff --git a/VL2/VL2_document_structure.tex b/VL2/VL2_document_structure.tex index 8e5679c..a215ba0 100644 --- a/VL2/VL2_document_structure.tex +++ b/VL2/VL2_document_structure.tex @@ -11,6 +11,7 @@ \slide{./content/VL2_polymorphism1.tex} \slide{./content/VL2_polymorphism2.tex}[ (cnt.)] +\slide{./content/VL2_polymorphism3.tex}[ (cnt.)] \section{\ifger{Andere Arten der Funktionsdefinition}{More ways to define functions}} diff --git a/VL2/content/VL2_polymorphism2.tex b/VL2/content/VL2_polymorphism2.tex index 76e29e0..aab103d 100644 --- a/VL2/content/VL2_polymorphism2.tex +++ b/VL2/content/VL2_polymorphism2.tex @@ -7,13 +7,4 @@ head :: [a] -> a \vspace{\baselineskip} \\ \pause -\ifger{Wir können sogar Funktionen schreiben wie:}{We can also have:} -\begin{haskellcode} -f :: a -> b -\end{haskellcode} -\pause -\ifger{D.h. was auch immer diese Funktion macht, sie bekommt etwas von einem Typ rein und gibt etwas von einem anderen Typ aus. \hinline{a} und \hinline{b} könnten vom selben Typ sein, müssen aber nicht! D.h. Funktionen dieser Art geben uns häufig mehr Freiheit. Mehr können wir über diese Funktion nicht sagen.}{So, whatever the function does... it gets something of one type and returns something of another type. \hinline{b} \emph{could} be the same type as \hinline{a} here, but it doesn't need to, so functions of this type often give us more freedom! That's all we know about this function.} -\vspace{\baselineskip} -\\ -\pause -\ifger{Hinweis: wir müssen nicht die Buchstaben \hinline{a} und \hinline{b} nehmen. Sie werden nur häufig für generische Datentypen benutzt.}{Note: you don't have to use \hinline{a} or \hinline{b} here. These letters are just commonly used for generic types.} \ No newline at end of file +\ifger{Frage: könnte \hinline{a} eine Funktion sein?}{Question: could \hinline{a} be a function?} \ No newline at end of file diff --git a/VL2/content/VL2_polymorphism3.tex b/VL2/content/VL2_polymorphism3.tex new file mode 100644 index 0000000..d71cc3b --- /dev/null +++ b/VL2/content/VL2_polymorphism3.tex @@ -0,0 +1,10 @@ +\ifger{Wir können sogar Funktionen schreiben wie:}{We can also have:} +\begin{haskellcode} +f :: a -> b +\end{haskellcode} +\pause +\ifger{D.h. was auch immer diese Funktion macht, sie bekommt etwas von einem Typ rein und gibt etwas von einem anderen Typ aus. \hinline{a} und \hinline{b} könnten vom selben Typ sein, müssen aber nicht! D.h. Funktionen dieser Art geben uns häufig mehr Freiheit. Mehr können wir über diese Funktion nicht sagen.}{So, whatever the function does... it gets something of one type and returns something of another type. \hinline{b} \emph{could} be the same type as \hinline{a} here, but it doesn't need to, so functions of this type often give us more freedom! That's all we know about this function.} +\vspace{\baselineskip} +\\ +\pause +\ifger{Hinweis: wir müssen nicht die Buchstaben \hinline{a} und \hinline{b} nehmen. Sie werden nur häufig für generische Datentypen benutzt.}{Note: you don't have to use \hinline{a} or \hinline{b} here. These letters are just commonly used for generic types.} \ No newline at end of file