cd /news/artificial-intelligence/history-of-dh-dependent-types-in-has… · home topics artificial-intelligence article
[ARTICLE · art-96837] src=discourse.haskell.org ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

History of DH (Dependent Types in Haskell) contributions

The Haskell development roadmap for Dependent Types (DH) will be updated with links to key research papers, including PhD theses by Adam Gundry (2013) and Richard A. Eisenberg (2016), a specification by Stephanie Weirich et al. (2017), and a graded dependent type system paper by Choudhury et al. (2021). The main theoretical questions are whether to combine term and type languages in Core and how to integrate dependent types with linear types, with a long-term preference for a unified Core but a phase-separated approach as a safer incremental step.

read1 min views1 publishedAug 14, 2026

There’s more than one way to get to a Dependent Core. Various formalisms are presented in:

[Type Inference, Haskell and Dependent Types](https://adam.gundry.co.uk/pub/thesis/), PhD thesis by Adam Gundry (2013)
[Dependent Types in Haskell: Theory and Practice](https://richarde.dev/papers/2016/thesis/eisenberg-thesis.pdf), PhD thesis by Richard A. Eisenberg (2016)

A Specification for Dependently-Typed Haskell, by Stephanie Weirich, Antoine Voizard, Pedro Henrique Azevedo de Amorim, and Richard A. Eisenberg (2017) A graded dependent type system with a usage-aware semantics, by Pritam Choudhury, Harley Eades III, Richard A. Eisenberg, and Stephanie Weirich (2021)

I’m going to update the roadmap with these links.

The main theoretical questions are:

  • Whether to combine the term and type languages within Core (the ambitious vs. the incremental approach).
  • How to combine dependent types with linear types (don’t forget multiplicity polymorphism).

Long-term, I’d prefer a Core that combines the term and type languages. But realistically, if the goal is to get to Π-types via the safest route without reengineering half of GHC, Adam’s thesis presents a compelling phase-separated approach.

Hmm. This conversation has proved rather insightful. I think I now realise what Conor was hinting at. Indeed, we could start with a Core that simply adds foreach

and dcase

, then work on combining terms and types afterwards.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @adam gundry 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/history-of-dh-depend…] indexed:0 read:1min 2026-08-14 ·