diff --git a/VL1.tex b/VL1.tex index 51b3196..1a00127 100644 --- a/VL1.tex +++ b/VL1.tex @@ -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?