Compare commits
2 Commits
342aba4426
...
19fd3bc1b9
Author | SHA1 | Date | |
---|---|---|---|
|
19fd3bc1b9 | ||
|
38a7325097 |
@ -1,6 +1,5 @@
|
|||||||
\documentclass{beamer}
|
\documentclass{beamer}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
%\usepackage{minted}
|
|
||||||
|
|
||||||
\usetikzlibrary{positioning}
|
\usetikzlibrary{positioning}
|
||||||
\usetheme{Darmstadt}
|
\usetheme{Darmstadt}
|
||||||
@ -43,42 +42,6 @@
|
|||||||
\centering
|
\centering
|
||||||
\includegraphics[width=.75\textwidth]{imgs/gadt.png}
|
\includegraphics[width=.75\textwidth]{imgs/gadt.png}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
%type _ t_var =
|
|
||||||
% | BVar: ident -> bool t_var
|
|
||||||
% | IVar: ident -> int t_var
|
|
||||||
% | RVar: ident -> real t_var
|
|
||||||
%
|
|
||||||
%type _ t_expression =
|
|
||||||
% | EVar: 'a t_var -> 'a t_expression
|
|
||||||
% | EMonOp: monop * 'a t_expression -> 'a t_expression
|
|
||||||
% | EBinOp: binop * 'a t_expression * 'a t_expression -> 'a t_expression
|
|
||||||
% | ETriOp: triop * bool t_expression * 'a t_expression * 'a t_expression -> 'a t_expression
|
|
||||||
% | EComp: compop * 'a t_expression * 'a t_expression -> bool t_expression
|
|
||||||
% | EConst: 'a const -> 'a t_expression
|
|
||||||
% | ETuple: 'a t_expression * 'b t_expression -> ('a * 'b) t_expression
|
|
||||||
% | EApp: (('a -> 'b) t_node) * 'a t_expression -> 'b t_expression
|
|
||||||
%
|
|
||||||
%and _ t_varlist =
|
|
||||||
% | NVar: 'a t_varlist
|
|
||||||
% | CVar: 'a t_var * 'b t_varlist -> ('a * 'b) t_varlist
|
|
||||||
%
|
|
||||||
%and 'a t_equation = 'a t_varlist * 'a t_expression
|
|
||||||
%
|
|
||||||
%and _ t_eqlist =
|
|
||||||
% | NEql: unit t_eqlist
|
|
||||||
% | CEql: 'a t_equation * 'b t_eqlist -> ('a * 'b) t_eqlist
|
|
||||||
%
|
|
||||||
%and _ t_node =
|
|
||||||
% | MakeNode:
|
|
||||||
% ident
|
|
||||||
% * 'i t_varlist * 'o t_varlist
|
|
||||||
% * 'l t_varlist * 'e t_eqlist
|
|
||||||
% -> ('i -> 'o) t_node
|
|
||||||
%
|
|
||||||
%type _ t_nodelist =
|
|
||||||
% | NNode: unit t_nodelist
|
|
||||||
% | CNode: ('a -> 'b) t_node * 'c t_nodelist -> (('a -> 'b) * 'c) t_nodelist
|
|
||||||
% \end{minted}
|
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\begin{block}{Pros of using GADTs}
|
\begin{block}{Pros of using GADTs}
|
||||||
@ -134,7 +97,7 @@
|
|||||||
|
|
||||||
\section{Passes}
|
\section{Passes}
|
||||||
\begin{frame}{Passes}
|
\begin{frame}{Passes}
|
||||||
\begin{block}
|
\begin{block}{Classification}
|
||||||
The passes of our compiler are functions of taking a program and either:
|
The passes of our compiler are functions of taking a program and either:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item returning a program if the pass succeeded
|
\item returning a program if the pass succeeded
|
||||||
|
Loading…
Reference in New Issue
Block a user