From 5be4e2b2dc655e3e4572f67fb1f9243024a1fefe Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Wed, 5 Jul 2017 20:06:07 +0200 Subject: [PATCH] update --- pres.mtask.tex | 26 +++++++++++++++++++++++--- pres.system.tex | 28 ++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/pres.mtask.tex b/pres.mtask.tex index f878ecf..bdc529a 100644 --- a/pres.mtask.tex +++ b/pres.mtask.tex @@ -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} diff --git a/pres.system.tex b/pres.system.tex index 659dc4e..505e2a9 100644 --- a/pres.system.tex +++ b/pres.system.tex @@ -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} -- 2.20.1