Browse Source

Improve polymorphism slides

Julian Ospald 4 years ago
parent
commit
fe69947378
No account linked to committer's email address

+ 1
- 0
VL2/VL2_document_structure.tex View File

@@ -11,6 +11,7 @@
11 11
 
12 12
 \slide{./content/VL2_polymorphism1.tex}
13 13
 \slide{./content/VL2_polymorphism2.tex}[ (cnt.)]
14
+\slide{./content/VL2_polymorphism3.tex}[ (cnt.)]
14 15
 
15 16
 
16 17
 \section{\ifger{Andere Arten der Funktionsdefinition}{More ways to define functions}}

+ 1
- 9
VL2/content/VL2_polymorphism2.tex View File

@@ -9,12 +9,4 @@ isListEmpty x     = False
9 9
 \begin{haskellcode}
10 10
 f :: a -> b
11 11
 \end{haskellcode}
12
-\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.}
13
-\vspace{\baselineskip}
14
-\\
15
-\pause
16
-\ifger{Erinnern wir uns an die Funktion \hinline{head}. Wir können auf jeder Art von Liste mit ihr operieren. Die Typsignatur:}{Similarly, remember the function \hinline{head} which gives us the first element of a list? The type signature actually looks like this:}
17
-\begin{haskellcode}
18
-head :: [a] -> a
19
-\end{haskellcode}
20
-\ifger{Macht Sinn?}{Makes sense?}
12
+\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.}

+ 8
- 0
VL2/content/VL2_polymorphism3.tex View File

@@ -0,0 +1,8 @@
1
+\ifger{Erinnern wir uns an die Funktion \hinline{head}. Wir können auf jeder Art von Liste mit ihr operieren. Die Typsignatur:}{Similarly, remember the function \hinline{head} which gives us the first element of a list? The type signature actually looks like this:}
2
+\begin{haskellcode}
3
+head :: [a] -> a
4
+\end{haskellcode}
5
+\ifger{Macht Sinn?}{Makes sense?}
6
+\vspace{\baselineskip}\\
7
+\pause
8
+\ifger{Frage: könnte \hinline{a} eine Funktion sein?}{Question: could \hinline{a} be a function?}