Reorder for improved clarity

このコミットが含まれているのは:
Julian Ospald 2015-04-16 01:31:15 +02:00
コミット 81170661bc
この署名に対応する既知のキーがデータベースに存在しません
GPGキー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]