Reorder for improved clarity

This commit is contained in:
Julian Ospald 2015-04-16 01:31:15 +02:00
父節點 8852f5d465
當前提交 81170661bc
沒有發現已知的金鑰在資料庫的簽署中
GPG Key ID: 220CD1C5BDEED020
共有 1 個文件被更改,包括 9 次插入10 次删除

19
VL1.tex
查看文件

@ -501,16 +501,6 @@ data MaybeInt = NoError Int
| Error String
\end{lstlisting}
\pause
And now we can do sanity checks:
\pause
\setHaskellCodeStyle
\begin{lstlisting}
calcSomething :: Int -> MaybeInt
calcSomething x
| x < 100 = NoError (x * 5)
| otherwise = Error "Int out of range!"
\end{lstlisting}
\pause
So constructors are just \emph{functions}! And they can have arguments, just like functions. Let's check their types:
\setHaskellCodeStyle
\begin{lstlisting}
@ -519,6 +509,15 @@ NoError :: Int -> MaybeInt
> :t Error
Error :: String -> MaybeInt
\end{lstlisting}
\pause
And now we can do sanity checks:
\setHaskellCodeStyle
\begin{lstlisting}
calcSomething :: Int -> MaybeInt
calcSomething x
| x < 100 = NoError (x * 5)
| otherwise = Error "Int out of range!"
\end{lstlisting}
\end{frame}
\begin{frame}[fragile]