|
|
@@ -520,6 +520,18 @@ calcSomething x |
|
|
|
\end{lstlisting} |
|
|
|
\end{frame} |
|
|
|
|
|
|
|
\begin{frame}[fragile] |
|
|
|
\frametitle{Algebraic Data Types (ctn.)} |
|
|
|
And pattern match on it as well: |
|
|
|
\setHaskellCodeStyle |
|
|
|
\begin{lstlisting} |
|
|
|
addIntToList :: MaybeInt -> [Int] |
|
|
|
addIntToList (NoError x) = [x] |
|
|
|
addIntToList (Error str) = [] |
|
|
|
\end{lstlisting} |
|
|
|
So if we got an error, we just return an empty list, otherwise we return a list with the \code{Int} as its only element. |
|
|
|
\end{frame} |
|
|
|
|
|
|
|
\begin{frame}[fragile] |
|
|
|
\frametitle{Algebraic Data Types (ctn.)} |
|
|
|
Let's define something more complex. How about a tree? |
|
|
|