~/talk

Building a Dependently Typed Language in Haskell Part 1

Talkat ZuriHac 2026 · 2026-06-06..06-08· [haskell, compilers-and-language-design]
links:none on file
slides:none on file

Recreates a minimal dependently typed core in Haskell: concrete syntax, locally nameless binding, bidirectional type checking, evaluation that produces values as closures and neutral terms so partial evaluation decides type equality by quoting to normal forms. Implements infer/check functions, environment carrying typed values, fresh-name generation and a small eval/check monad; demos include a polymorphic identity and its instantiations. Code exists but full cleaned repository not yet released.

AI-written summary · about

  1. 0:00Introduction And Motivation
  2. 6:05From Eliminators To Pattern Matching
  3. 11:25Syntax Of A Dependently Typed Language
  4. 17:56Bidirectional Type Checking Design
  5. 20:02Locally Nameless Representation
  6. 26:43Evaluation And Type Equality
  7. 35:55Values, Closures, And Neutral Terms
  8. 49:43Implementing Type Inference
  9. 58:40Type Checking Lambda Expressions
  10. 1:00:15Quoting And Normal Forms
  11. 1:05:32Polymorphic Identity Example
  12. 1:06:38Preparing For Data Types And Pattern Matching
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.