Miles Rout


I am from Christchurch, New Zealand. At the moment, I am studying law at the University of Canterbury in Christchurch, New Zealand.


BSc(Hons) in Mathematics with First Class Honours
BSc in Mathematics and Computer Science

Work Experience

I have two and a half years of work experience as a software developer at two New Zealand software development companies.

I have tutored many mathematics and computer science courses at the University of Canterbury in Christchurch, New Zealand, including MATH102/MATH103 (first year calculus and linear algebra), MATH120 (discrete mathematics), MATH220 (graph theory and cryptography), MATH230 (logic, automata and  computability), COSC121 (introductory programming) and COSC367 (artificial intelligence).


  • Vine, which is my current long-term project. Vine is a C library that is intended to eventually become the basis for a text editor and development environment à la Emacs.
  • qed, where you will find my work-in-progress proof assistant and programming language for constructive Morse set theory written in Haskell. It is currently on hold.
  • Minimal logic, where you will find a proof checker for minimal propositional logic written in Haskell for my Honours project, using advanced Haskell type system techniques to prevent the representation of structurally invalid proofs, and a minimal propositional Kripke model checker also written in Haskell. It is no longer under development.
  • Visp, a simple Lisp written in Python, with macros, using substitution to evaluate (not metacircular, but does use the Python stack). As an experiment, Visp is complete.
  • milesrout:sceptre, a fun little automatic theorem prover for minimal propositional logic written in Racket.
  • my vim configuration—be sure to use --recurse-submodules to clone this.

Contact Me

Please contact me at