~/talk

Dependent Types in Haskell

Talkat Strange Loop 2017 · 2017-09-28..09-30· [typescript]
slides:none on file

Claims that GHC can host useful dependent‑style programming and shows a working library that parses regexes into a compile‑time occurrence map, uses Template Haskell to lift syntax, and encodes dictionaries with GADTs indexed by type‑level symbols so invalid field access fails at compile time. Singleton types bridge type indices to runtime for printing and typeclass‑based proofs handle equivalences needed for optimizations. Several proofs require explicit instances but the design compiles, runs, and lives in the dth GitHub repo.

AI-written summary · about

  1. 0:00Intro
  2. 1:12Dependent Haskell
  3. 2:34Regular expression capture groups
  4. 11:53How does this work? 1. Compile-time parsing
  5. 13:292. Type functions run by type checker
  6. 19:37Types Constrain Data with GADTS
  7. 20:46Indexed Types constrain data
  8. 23:30Dependent types
  9. 25:24GHC's take: Singletons
  10. 27:37Working with type indices
  11. 31:40Type classes to the rescue
  12. 34:32Four Capabilities of Dependent Type Systems
~/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.