~/talk

Keynote: Dependently-Typed Haskell

Talkat Typelevel Summit Philadelphia 2016 · 2016-03-02..03-03· [haskell]
slides:none on file

Argues that Haskell already supports a useful form of dependent typing using GHC features and demonstrates it by encoding red‑black trees with checked invariants: implementations range from an unverified 12‑line version to an Agda‑style 49‑line encoding and a simpler 32‑line Haskell variant. Uses GADTs, datatype promotion plus type families and Singletons to track colors and black height; notes GHC differences (erasure, no totality check) and upcoming features like TypeInType and explicit type application that make these encodings practical and working.

AI-written summary · about

  1. 0:00Intro
  2. 3:47Example: Red-black Trees
  3. 10:36Red-black Trees in Agda (Licata)
  4. 13:48Red-black Trees in GHC
  5. 16:03Static enforcement
  6. 18:35How are Agda and Haskell different?
  7. 20:21Types are erased
  8. 21:58Split balance into two cases
  9. 23:28Decompose argument
  10. 24:06Specialize Color
  11. 26:32Programming with types (Agda)
  12. 29:50GHC version of Almost Tree
  13. 33:26Implementation of insert
  14. 34:38Difference: Totality
  15. 35:12Not proving things is simpler
  16. 37:41Dependently-Typed Haskell
  17. 40:14Ivory: Safe bit-level programming
  18. 41:44Length-preserving Convolution
  19. 44:44Safe Database Access
~/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.