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
 | 
			
		||||
f = \x -> (\y -> (\z -> x + y + z)) -- right-associative
 | 
			
		||||
\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 = addInt 2
 | 
			
		||||
-- equivalent to
 | 
			
		||||
addTwo = \y -> addInt 2 y
 | 
			
		||||
\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.
 | 
			
		||||
\vspace{\baselineskip}\\
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user