Improve currying slides further
This commit is contained in:
parent
686f4fc438
commit
a8f9458649
@ -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}
|
@ -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}\\
|
||||||
|
Loading…
Reference in New Issue
Block a user