diff options
author | Camil Staps | 2017-10-28 23:26:12 +0200 |
---|---|---|
committer | Camil Staps | 2017-10-28 23:26:12 +0200 |
commit | 403d78d6d0291618e11bd458a3605c2934890ac5 (patch) | |
tree | 0ac87ad8ae5fef26e56292c318df9a651a379ce1 | |
parent | Add logo on title slide (diff) |
Add conclusions
-rw-r--r-- | cloogle.tex | 36 |
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} |