~/talk

Statically Typed Interpreters

Talkat LambdaConf 2017 · 2017-05-25..05-27· [typescript]
links:none on file
slides:none on file

Builds a statically typed interpreter in Haskell and claims it prevents runtime type errors by moving checks into the compiler stage, using GADTs, existential wrappers to erase and reintroduce type information, and the constraints package’s Dict/dictionary trick to carry typeclass implementations. Implements a small relational-algebra-like DSL, solves scoping and heterogeneous environment issues, and demonstrates evaluation of well-typed ASTs. Not published as open source; used internally while iterating rapidly.

AI-written summary · about

  1. 0:00Start
  2. 2:27Motivating Problem
  3. 4:17Simplified Expression Execution Engine
  4. 4:48Tools
  5. 5:33Parsing
  6. 6:33Binary Operators
  7. 9:20Constructors
  8. 10:42Logical Operators
  9. 11:45Translations
  10. 17:52Custom Type Classes
  11. 20:20Scoping
  12. 21:42Base Case
  13. 24:24Sparkle Library
~/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.