Improve currying slides further

This commit is contained in:
Julian Ospald 2015-05-02 13:59:58 +02:00
parent 686f4fc438
commit a8f9458649
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
2 changed files with 8 additions and 4 deletions

View File

@ -6,5 +6,11 @@ f x y z = x + y + z
-- ...for this -- ...for this
f = \x -> (\y -> (\z -> x + y + z)) -- right-associative f = \x -> (\y -> (\z -> x + y + z)) -- right-associative
\end{haskellcode} \end{haskellcode}
\ifger{Frage: was passiert, wenn wir nur $x = 3$ übergeben?}{Question: what happens if we just pass $x = 3$?} \ifger{Frage: was passiert, wenn wir nur $x = 3$ übergeben?}{Question: what happens if we just pass $x = 3$?}
\vspace{\baselineskip}
\\
\pause
\ifger{Wieso nicht das?}{Why not this?}
\begin{haskellcode}
f = \x -> x + (\y -> y + (\z -> z)) -- no!
\end{haskellcode}

View File

@ -8,8 +8,6 @@ addInt = \x -> (\y -> x + y)
addTwo :: Int -> Int addTwo :: Int -> Int
addTwo = addInt 2 addTwo = addInt 2
-- equivalent to
addTwo = \y -> addInt 2 y
\end{haskellcode} \end{haskellcode}
\ifger{Wir haben \hinline{addInt} ein Argument übergeben, also ist die Arität (im Beispiel vorher Dimension) einer weniger und damit ist noch ein Argument notwendig um den endgültigen Wert zu bekommen. \ifger{Wir haben \hinline{addInt} ein Argument übergeben, also ist die Arität (im Beispiel vorher Dimension) einer weniger und damit ist noch ein Argument notwendig um den endgültigen Wert zu bekommen.
\vspace{\baselineskip}\\ \vspace{\baselineskip}\\