2015-04-19 22:32:50 +00:00
|
|
|
\begin{itemize}
|
2015-04-20 18:55:41 +00:00
|
|
|
\item what is the difference between \hinline{let} and \hinline{where}?
|
|
|
|
\item what is the difference between \hinline{foldr} and \hinline{foldl}?
|
2015-04-19 22:32:50 +00:00
|
|
|
\item what is the difference between explicit and implicit recursion? Give examples
|
|
|
|
\item how many arguments does a haskell function have (strictly speaking)?
|
2015-04-20 22:24:45 +00:00
|
|
|
\item Are these type signatures technically equivalent?
|
|
|
|
\begin{haskellcode}
|
|
|
|
f :: Int -> Int -> Char -> Int -> Int -> Char
|
|
|
|
f :: Int -> Int -> (Char -> (Int -> (Int -> Char)))
|
|
|
|
\end{haskellcode}
|
|
|
|
% $
|
2015-04-19 22:32:50 +00:00
|
|
|
\item what do you have to keep in mind in order to make function composition work?
|
2015-04-20 18:55:41 +00:00
|
|
|
\item can you define \hinline{map} and \hinline{filter} in terms of \hinline{foldr}?
|
2015-04-20 22:24:45 +00:00
|
|
|
\item simplify (and eta reduce) the following code snippet
|
|
|
|
\begin{haskellcode}
|
|
|
|
f x y = (\d e -> d * e) x $ y
|
|
|
|
\end{haskellcode}
|
|
|
|
% $
|
2015-04-19 22:32:50 +00:00
|
|
|
\end{itemize}
|