2015-04-23 20:57:25 +00:00
\ifger { Wir werden die Rekursionsstruktur erneut herausabstrahieren! Die Typsignatur sieht so aus:} { Let's abstract out the common pieces! This will be our type signature:}
2015-04-19 22:32:50 +00:00
\begin { haskellcode}
filter :: (a -> Bool) -> [a] -> [a]
\end { haskellcode}
2015-04-23 20:57:25 +00:00
\ifger { Lösung?} { Solution?}
2015-04-19 22:32:50 +00:00
\pause
\begin { haskellcode}
filter :: (a -> Bool) -> [a] -> [a]
2015-05-01 14:42:06 +00:00
filter f [] = []
2015-04-19 22:32:50 +00:00
filter f (x:xs)
| f x = x : filter f xs
| otherwise = filter f xs
\end { haskellcode}
2015-04-23 20:57:25 +00:00
\ifger { Diese Funktion ist ebenfalls Teil von \emph { Prelude} .} { Again: this function is part of the \emph { Prelude} as well.}