aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2017-10-28 23:26:12 +0200
committerCamil Staps2017-10-28 23:26:12 +0200
commit403d78d6d0291618e11bd458a3605c2934890ac5 (patch)
tree0ac87ad8ae5fef26e56292c318df9a651a379ce1
parentAdd logo on title slide (diff)
Add conclusions
-rw-r--r--cloogle.tex36
1 files changed, 32 insertions, 4 deletions
diff --git a/cloogle.tex b/cloogle.tex
index f0af4e2..f93c50f 100644
--- a/cloogle.tex
+++ b/cloogle.tex
@@ -92,6 +92,9 @@
\item With $\pm15,000$ functions, brute force unification search takes too long
\item Grouping types together still gives $\pm13,000$ unique types
\item If type $t$ generalises $u$, any $v$ that unifies with $u$ will also unify with $t$
+ \begin{itemize}
+ \item Conversely, if $v$ does not unify with $t$ it will not unify with $u$
+ \end{itemize}
\item This gives a partial order on types:
\begin{center}
@@ -115,7 +118,7 @@
\begin{frame}[shrink]{Efficient unification search}
\begin{itemize}[<+->]
- \item I would show you the real tree, but it is too large for most viewers
+ \item I would show the full tree, but didn't find a viewer that wouldn't crash
\item Here is a detail of the tree for 5,000 functions:
\medskip
@@ -217,9 +220,34 @@
\section*{The end}
-\subsection*{Conclusions}
-\begin{frame}{Conclusions}
- % TODO
+\subsection*{Discussion}
+\begin{frame}[fragile]{Discussion}
+ \begin{itemize}[<+->]
+ \item The first generation of students was very enthusiastic
+ \begin{itemize}
+ \item The second not so much...
+ \item But statistics show they used it more and more during the course
+ \end{itemize}
+
+ \item Unification search has some issues: you will never find
+
+ \begin{minted}[gobble=4]{clean}
+ fopen :: String Int *f -> (Bool, *File, *f)
+ \end{minted}
+
+ \begin{itemize}
+ \item But a unifier gives useful information, like required instances
+ \item Unification allows for optimisations that a distance measure does not
+ \end{itemize}
+
+ \item It's not just about search: indexing code has many use cases!
+
+ \begin{itemize}
+ \item Jumping to definitions (tagfiles)
+ \item Automatic imports (vim-clean)
+ \item Type-based code completion?
+ \end{itemize}
+ \end{itemize}
\end{frame}
\subsection*{Acknowledgements}