Toby Jordan's Blog

Writings on technology, philosophy, and their intersection

  • Types as Propositions, Proofs as Programs: Implementing STLC and PCF
    type theory · lambda calculus · odin · curry-howard

    We extend our lambda calculus interpreter with a type system, discover that almost nothing from the untyped standard library survives, derive PCF from first principles, and arrive somewhere unexpected: the typechecker we wrote is also a proof checker - Curry-Howard isomorphism.

  • Building a Lambda Calculus Interpreter in Odin
    lambda calculus · odin · interpreters · programming languages

    Lambda calculus has three rules, and yet booleans, arithmetic, linked lists, and recursion fall out of them. This is an account of building an interpreter for it in Odin - and of the theory that ambushes you along the way.

  • Why I Choose Odin over Rust or C
    odin · systems programming · programming languages · rust

    I needed a systems language, so I tried Rust, Zig, C, Nim, and Odin. This is the case for Odin - and what Scheme taught me about what it means for a language to know what it is.