\documentclass{beamer} \usepackage[utf8]{inputenc} \usepackage{agda} \usepackage{caption} \usepackage{catchfilebetweentags} \usepackage{cite} \usepackage{newunicodechar} \usepackage{url} % \usetheme{CambridgeUS} \usecolortheme{lily} \setbeamercovered{transparent} \usepackage{tikz} \usetikzlibrary{positioning} \titlegraphic{ \centering \vspace{-1cm} \includegraphics[width=.2\textwidth,height=.35\textheight]{cesk.png} } \title{First class continuations with CEK machines in Agda} \author{Michael Zhang} \date{} \begin{document} % \frame{\titlepage} \begin{frame}[t]\vspace{1cm} \maketitle \end{frame} \section{Primer on CESK} \begin{frame} \frametitle{What is a CESK machine?} \begin{itemize}[<+->] \item Abstract machine for interpreters, introduced by Matthias Felleisen. \item Stands for $C$ontrol, $E$nvironment, $S$tore, $K$ontinuation. \item Based on Matt Might's blog post on CESK machines \cite{might-cesk}. \end{itemize} \end{frame} \begin{frame} \frametitle{What are each of the components?} \begin{itemize}[<+->] \item $C$ontrol is your current term. \item $E$nvironment is a list of addresses. \item $S$tore is a mapping of addresses to values. \item $K$ont is what gets evaluated next. \end{itemize} \end{frame} \begin{frame} \frametitle{What are continuations?} \end{frame} \begin{frame} \begin{tikzpicture}[ roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}, squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm}, ] \node[draw, align=left, squarednode](ceskState){ C = $\lambda x . (\lambda y . x + y)$ \\ $E$ = [] \\ $\kappa$ = halt }; \node[squarednode](ceskState2)[right=of ceskState]{CEK}; %lines \draw[->] (ceskState.east) -- (ceskState2.west); \end{tikzpicture} \end{frame} \section{Implementation} \begin{frame} \frametitle{Hellosu} \include{./gentex/Project/Cesk.tex} \end{frame} \section{Conclusion} \begin{frame} \frametitle{Resources} \bibliography{res}{} \bibliographystyle{plain} \end{frame} \end{document} % vim: set sw=2 :