|
- And now we are going to write functions to use it:
- \begin{haskellcode}
- isListEmpty :: List t -> Bool
- isListEmpty Emtpy = True
- isListEmpty x = False
- \end{haskellcode}
- \pause
- We can even have more generic stuff like:
- \begin{haskellcode}
- f :: a -> b
- \end{haskellcode}
- Whatever the function does... it gets something of one type and returns something of another type (it could be the same type, but doesn't need to). That's all we know.
- \vspace{\baselineskip}
- \\
- \pause
- Similarly, remember the function \hinline{head} which gives us the first element of a list? The type signature actually looks like this:
- \begin{haskellcode}
- head :: [a] -> a
- \end{haskellcode}
- Makes sense?
|