@@ -7,6 +7,11 @@ High level view of steps we've taken to implement this new version:
77\item An evaluator for well-typed terms
88\item The important bit: a simple type checker. No unification or
99 inference.
10+\begin{itemize}
11+ \item It is extremely tempting to add implicit arguments and unification to the
12+ type checker. This is what I did in the first Idris prototype: I learned
13+ that it was a bad idea! Scope is a big problem.
14+\end{itemize}
1015\item The proof state and a tactic engine (Oleg style~\cite{mcbride-thesis}).
1116\begin{itemize}
1217 \item Dealing with names: typechecking and evaluation in a context, managing de Bruijn
@@ -14,7 +19,8 @@ High level view of steps we've taken to implement this new version:
1419 and de Bruijn indices when done.
1520\end{itemize}
1621\item Unification, and incorporation into the tactic engine.
17−\item An Elaborator, as an EDSL
22+\item An Elaborator, as an EDSL, which is a language for applying primitive tactics and
23+ constructing derived tactics.
1824\end{itemize}
1925
2026For the high level language: we need nothing more than the core type theory,