Implementing dependent types: how hard could it be? (Part 1)

Posted on May 23, 2025 Short answer: hard, but not as hard as I thought. Type systems in which the types (of functions, typically) may depend on terms are called dependently-typed. These systems exist on a spectrum, where restricted forms of dependent types exist in common functional programming languages such as OCaml, Haskell, and even TypeScript; the most complex forms of dependent types appear…