Improve polymorphism slides

This commit is contained in:
Julian Ospald 2015-04-26 12:52:14 +02:00
parent a8b1d09bdd
commit fe69947378
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
3 changed files with 10 additions and 9 deletions

View File

@ -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}}

View File

@ -9,12 +9,4 @@ isListEmpty x = False
\begin{haskellcode}
f :: a -> b
\end{haskellcode}
\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{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:}
\begin{haskellcode}
head :: [a] -> a
\end{haskellcode}
\ifger{Macht Sinn?}{Makes sense?}
\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.}

View File

@ -0,0 +1,8 @@
\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:}
\begin{haskellcode}
head :: [a] -> a
\end{haskellcode}
\ifger{Macht Sinn?}{Makes sense?}
\vspace{\baselineskip}\\
\pause
\ifger{Frage: könnte \hinline{a} eine Funktion sein?}{Question: could \hinline{a} be a function?}