small updates
authorMart Lubbers <mart@martlubbers.net>
Sun, 9 Jul 2017 10:06:33 +0000 (12:06 +0200)
committerMart Lubbers <mart@martlubbers.net>
Sun, 9 Jul 2017 10:06:33 +0000 (12:06 +0200)
pres.mtask.tex
presentation.pre

index 49a275f..5865640 100644 (file)
        \frametitle{Deep embedding}
        \begin{columns}[t]
                \column{.49\textwidth}
-               \begin{block}{What is deep embedding}
-                       \begin{itemize}
-                               \item The EDSL as an ADT
-                               \item A view is a function transforming the ADT
-                       \end{itemize}
-               \end{block}
+               \onslide<1->{
+                       \begin{block}{What is deep embedding}
+                               \begin{itemize}
+                                       \item The EDSL as an ADT
+                                       \item A view is a function transforming the ADT
+                               \end{itemize}
+                       \end{block}
+               }
+               \onslide<3->{
+                       \begin{block}{Properties}
+                               \begin{itemize}
+                                       \item Easy to add views
+                                       \item Hard to extend
+                                       \item Not type safe
+                                       \pause\item GADT
+                               \end{itemize}
+                       \end{block}
+               }
                \column{.49\textwidth}
-               \pause{}
-               \begin{lstlisting}[language=Clean]
+               \begin{onlyenv}<2->
+                       \begin{lstlisting}[language=Clean]
 :: DSL = LitI  Int     | LitB  Bool
        | Var   String  | Plus  DSL DSL
        | Minus DSL DSL | And   DSL DSL
 
 eval   :: DSL Env -> Env
 pprint :: DSL -> String
-               \end{lstlisting}
+                       \end{lstlisting}
+               \end{onlyenv}
        \end{columns}
-       \pause{}
-       \begin{block}{Properties}
-               \begin{itemize}
-                       \item Easy to add views
-                       \item Hard to extend
-                       \item Not type safe
-                       \pause\item GADT
-               \end{itemize}
-       \end{block}
 \end{frame}
 
 \begin{frame}[fragile]
        \frametitle{Shallow embedding}
        \begin{columns}[t]
                \column{.49\textwidth}
-               \begin{block}{What is shallow embedding}
-                       \begin{itemize}
-                               \item The EDSL as a function
-                               \item The view is embedded in the function
-                       \end{itemize}
-               \end{block}
-               \pause{}
+               \onslide<1->{
+                       \begin{block}{What is shallow embedding}
+                               \begin{itemize}
+                                       \item The EDSL as a function
+                                       \item The view is embedded in the function
+                               \end{itemize}
+                       \end{block}
+               }
+
+               \onslide<2->{
+                       \begin{block}{Properties}
+                               \begin{itemize}
+                                       \item Difficult to add views
+                                       \item Easy to extend
+                                       \item Type safe
+                               \end{itemize}
+                       \end{block}
+               }
                \column{.49\textwidth}
-               \begin{lstlisting}[language=Clean]
+               \begin{onlyenv}<2->
+                       \begin{lstlisting}[language=Clean]
 :: Env   = ...
 :: DSL a = DSL (Env -> a)
 
@@ -72,16 +88,9 @@ Var i = \e -> retrEnv e i
 
 Plus :: (DSL Int) (DSL Int) -> DSL Int
 Plus x y = \e -> x e + y e
-               \end{lstlisting}
+                       \end{lstlisting}
+               \end{onlyenv}
        \end{columns}
-       \pause{}
-       \begin{block}{Properties}
-               \begin{itemize}
-                       \item Difficult to add views
-                       \item Easy to extend
-                       \item Type safe
-               \end{itemize}
-       \end{block}
 \end{frame}
 
 \begin{frame}[fragile]
@@ -223,7 +232,7 @@ class assign v where
        \frametitle{Examples}
        \begin{lstlisting}[language=Clean]
 blink = task \blink=(\x.
-            IF x)
+            IF x
                (ledOn LED1)
                (ledOff LED2) :.
             blink (lit 1000) (Not x))
index 98a4af6..e29ea69 100644 (file)
@@ -2,6 +2,8 @@
 
 \usepackage{listings}              % Source code
 \usepackage{subcaption}            % Subcaptions
+\usepackage{lmodern}               % Better teletype fonts
+\usepackage{textcomp}              % Nice listings quotes
 \usepackage[nodayofweek]{datetime} % Use a fixed document date
 
 % Beamer style
@@ -55,7 +57,7 @@
        breaklines=true,
        captionpos=b,
        keepspaces=true,
-       basicstyle=\ttfamily\fontseries{l}\scriptsize,
+       basicstyle=\ttfamily\scriptsize\fontseries{l},
        commentstyle=\slshape\fontseries{m},
        keywordstyle=\bfseries\fontseries{b},
        stringstyle=\ttfamily,