diff --git a/beamer/lc-beamer/example.tex b/beamer/lc-beamer/example.tex index 66f98d9..f3ee859 100644 --- a/beamer/lc-beamer/example.tex +++ b/beamer/lc-beamer/example.tex @@ -40,36 +40,40 @@ -\begin{frame} +\begin{frame}[t, fragile] \frametitle{Type Systems} \framesubtitle{Safety <> Flexibility} - \begin{itemize} - \item<1-> Goal: eliminate undefined behaviour, - facilitate abstract code - \item<2-> simple types are overly restrictive, - loss of low level control +\centering + \includegraphics[width=0.9\textwidth]{intro.pdf} - \item<3-|alert@3> polymorphism - (regain flexibility in type-safe way) - \begin{itemize} - \item<4-> parametric polymorphism (generics) - \item<4-> subtype polymorphism (inheritance / coercions) - \end{itemize} - \end{itemize} -\end{frame} - - -\begin{frame}[t, fragile]{Type Systems} -\framesubtitle{Safety <> Flexibility} - -\begin{lstlisting} + \pause + \begin{block}{type information in comments} + \begin{lstlisting} /* this is an angle in degrees */ double hue = 156.4; -\end{lstlisting} + \end{lstlisting} +\end{block} + \end{frame} +\begin{frame}[t, fragile]{Example - Image Processing} +\begin{lstlisting} +image-read :: FilePath -> [Color] +image-write :: FilePath -> [Color] -> () +image-mix :: $\mathbb{R}$ -> [Color] -> [Color] -> [Color] +image-saturate :: $\mathbb{R}$ -> [Color] -> [Color] + +let im1 = image-read "in1.png" +let im2 = image-read "in2.png" +let im3 = image-mix 0.5 + im1 + (image-saturate 0.8 im2) + +image-write "out.png" im3 +\end{lstlisting} +\end{frame} \begin{frame}{Performance Checklist} @@ -124,7 +128,6 @@ image-write "out.png" im3 \end{lstlisting} \end{frame} - \begin{frame}{Example - Image Processing} \framesubtitle{More Types} @@ -180,7 +183,7 @@ image-write "out.png" im3 \end{frame} -\begin{frame}{Abstract Concept - Multiple Representations} +\begin{frame}{Example - Image Processing} \framesubtitle{OpenGL Image Formats} \begin{itemize} @@ -253,7 +256,7 @@ image-write "out.png" im3 \begin{frame}{Solutions (I): Traits / Typeclasses / Interfaces} \begin{itemize} - \item todo + \item todo \end{itemize} \end{frame} @@ -340,7 +343,7 @@ image-write "out.png" im3 \begin{frame}{Morphisms} \framesubtitle{Coherence} - \begin{block}{Coherence Condition} + \begin{block}{Morphism Condition} Assume\\ \(\metavariable{m_\sigma} : \typeterminal{\metavariable{\sigma} \sim \metavariable{\sigma_1} \rightarrow_\text{morph} \metavariable{\sigma} \sim \metavariable{\sigma_2}}\)\\ \(\metavariable{m_\tau} : \typeterminal{\metavariable{\tau} \sim \metavariable{\tau_1} \rightarrow_\text{morph} \metavariable{\tau} \sim \metavariable{\tau_2}}\)\\ @@ -688,8 +691,11 @@ D :: \Gamma \vdash \metavariable{e} : \metavariable{\tau}\\ -\begin{frame}{Summary} -todo +\begin{frame}[t, fragile]{Summary} + +%\begin{tabular*}[h]{p{0.5\textwidth}|p{0.5\textwidth}} +%\end{tabular*} + \end{frame} diff --git a/beamer/lc-beamer/intro.pdf b/beamer/lc-beamer/intro.pdf new file mode 100644 index 0000000..cc14770 Binary files /dev/null and b/beamer/lc-beamer/intro.pdf differ