Associate Professor in Logical Foundations and Formal Methods
AquaUI. Superseded by AquaKit https://tangled.org/jonmsterling.com/AquaKit
156JonPRL. An proof refinement logic for computational type theory. Inspired by Nuprl. [For up-to-date development, see JonPRL's successor, RedPRL: https://github.com/redprl/sml-redprl]
109Githood. A minimal Github client for iOS. No longer actively developed.
96forest. My mathematical Zettelkasten, created using forester. Moved to sourcehut.
94dreamtt. A pedagogic implementation of abstract bidirectional elaboration for dependent type theory.
89math. A mini-book on category theory. Superseded by https://github.com/jonsterling/forest
53ocaml-forester. Mirror of ocaml-forester
51project-pterosaur. Lean
44Tasky. A Taskwarrior client. This was created to fill my own need: feel free to modify it! If it looks really ugly, you probably have your terminal configured wrong.
32coq-guarded-computational-type-theory. Coq
21Lens.hpp. Functional Lenses in C++
21agda-stc. Hacking synthetic Tait computability into Agda. Example: canonicity for MLTT.
20latex-dieudonne. A LaTeX package to reproduce (an enhanced version of) the numbered paragraph style from classic French mathematics books.
19lcf-sequent-calculus-example. A self-contained implementation of forward and backward inference for intuitionistic propositional logic
18coq-domains. Coq
18constructive-sheaf-semantics. I'm putting Palmgren's Constructive Sheaf Semantics into Agda. Defines sheaves via Grothendieck pretopologies.
18RAFExamples. An example of ReactiveFormlets use in the MVVM style
18tt. secret project
17agda-synthetic-domain-theory. Agda
17hs-abt. Type safe abstract binding trees for Haskell, using Vinyl
16sml-modernized-algol. Harper's Modernized ALGOL in SML using multi-sorted nominal abstract binding trees
15agda-effectful-forcing. Agda formalization of the paper, "Higher-Order Functions and Brouwer's Thesis". Deduces a Brouwer ordinal from a function ((nat -> nat) -> nat) in System T.
13sml-logical-framework. Jason Reed's Tiny LF, and some experiments in higher-order proof refinement logics using Jon Sterling Thought
13agda-zipper-machine. An abstract machine using indexed containers and their zippers
13TT-Reflection. An experimental type theory with scoped equality reflection, and non-arbitrary proof search. This is basically a pared down version of Andromeda/Brazil, but with untyped reduction and a more Nuprl-like feel. Computational content of proofs is got via a realizability-based extraction. (Note: substitution is unsafe here, not because of a problem with the theory, but because I didn't understand how Bound works sadly.)
12TaskWarriorWeb. A quick & dirty Yesod-based local web interface to TaskWarrior
12topos-theory-notes. TeX
10math-translations. Hypertext translations of some classic mathematical papers into English
9itt-bidirectional. A bidirectional type checker for intensional constructive type theory (with thanks to Stephanie Weirich).
9lean4-sgdt. Experiments with synthetic guarded domain theory in Lean 4.
9agda-brouwerian-mathematics. some "modernized" brouwerian mathematics, inspired by Hancock, Ghani & Pattinson
8lecture-notes. TeX
7effectful-typesetting. A case-study in effects-and-handlers for bubbling out configurations from the interior of programs that typeset text.
6brouwer-translations. translations of brouwer's writings; corrections from native speakers welcome!
6coq-meaning-explanation. Coq
5agda-bar-induction. Agda
5sml-pronominal-ml. An experiment with nominal features in a programming language
5agda-nominal-sets. Agda
5