update
authorMart Lubbers <mart@martlubbers.net>
Wed, 5 Jul 2017 18:06:07 +0000 (20:06 +0200)
committerMart Lubbers <mart@martlubbers.net>
Wed, 5 Jul 2017 18:06:07 +0000 (20:06 +0200)
pres.mtask.tex
pres.system.tex

index f878ecf..bdc529a 100644 (file)
@@ -147,9 +147,29 @@ instance intArith PrettyPrinter where
                        \item Type safe
                        \item Embedded in Clean
                        \item Extendable
-                       \item \ldots\pause{} but\ldots
-                       \item No interaction
-                       \item Compilation requires reprogramming
                \end{itemize}
        \end{block}
 \end{frame}
+
+\begin{frame}[fragile]
+       \frametitle{Expressions}
+       \begin{block}{mTask}
+               \begin{itemize}
+                       \item Two phantom types
+                       \item Hierarchy
+               \end{itemize}
+       \end{block}
+       \pause{}
+       \begin{lstlisting}
+class arith v where
+  lit           :: t -> v t Expr
+  (+.) infixl 6 :: (v t p) (v t q) -> v t Expr          | +, zero t    & isExpr p & isExpr q
+  (-.) infixl 6 :: (v t p) (v t q) -> v t Expr          | -, zero t    & ...
+  ...
+class boolExpr v where
+  Not           :: (v Bool p) -> v Bool Expr            | ...
+  (&.) infixr 3 :: (v Bool p) (v Bool q) -> v Bool Expr | ...
+  ...
+  (==.) infix 4 :: (v a p) (v a q) -> v Bool Expr       | ...
+         \end{lstlisting}
+\end{frame}
index 659dc4e..505e2a9 100644 (file)
@@ -1,14 +1,26 @@
 \subsection{Overview}
 \begin{frame}
        \frametitle{Solution}
-       \begin{itemize}[<+->]
-               \item New backend for mTask
-               \item Bytecode generation
-               \item Interpreter on client
-               \item Server in iTasks
-               \item Integration with iTasks
-               \item No taskserver
-       \end{itemize}
+       \begin{block}{Downsides of the current mTask view}
+               \begin{itemize}
+                       \item It all seems perfect
+                       \item \ldots\pause{} but\ldots
+                       \pause{}
+                       \item No interaction
+                       \item Compilation requires reprogramming
+               \end{itemize}
+       \end{block}
+       \pause{}
+       \begin{block}{Solution}
+               \begin{itemize}[<+->]
+                       \item New bytecode backend for mTask
+                       \item Interpreter on client
+                       \item Server in iTasks
+                       \item Integration with iTasks
+                       \item No taskserver generation
+                       \item Program only once
+               \end{itemize}
+       \end{block}
 \end{frame}
 
 \subsection{Extending mTask}