|
- \ifger{Jetzt wollen wir uns unsere Funktionen}{So how do our} \hinline{sum}, \hinline{prod} \ifger{und}{and} \hinline{length} \ifger{anschauen, wenn wir sie mittels \hinline{fold} implementieren:}{functions look like if we use our \hinline{fold} abstraction?}
- \pause
- \begin{haskellcode}
- sum :: [Int] -> Int
- sum xs = fold 0 (\x y -> x + y) xs
- -- a Haskeller would write
- sum = fold 0 (+)
-
- prod :: [Int] -> Int
- prod xs = fold 1 (\x y -> x * y) xs
-
- length :: [a] -> Int
- length xs = fold 0 (\x y -> 1 + y) xs
- \end{haskellcode}
|