~/talk

Domain Specific Type Systems

Talkat Clojure/West 2015 · 2015-04-20..04-22· [compilers-and-language-design]
slides:none on file

A light, practical claim: macros implement a localized static typechecker for a Datomic DSL called Spectacular that emits precise errors and then hands inferred types to typed Clojure via unchecked casts so host code is checked. The implementation is a small bidirectional algorithm (no polymorphism, supports recursive links), it generates docs from specs, and it runs in production at SparkFund even though the repo lacks polished docs. Datomic is the target, and the approach demonstrably works.

AI-written summary · about

  1. 0:00Introduction
  2. 0:17Outline
  3. 0:57What is domainspecific
  4. 2:05The job of programming
  5. 3:12Type structure
  6. 3:39Abstraction
  7. 4:35Compression
  8. 6:25Abstractions are specifications
  9. 8:00Inception
  10. 8:40Fable
  11. 9:15Complex
  12. 10:05The Twins
  13. 11:07Types are data structures
  14. 11:51Syntax
  15. 12:15Static vs Dynamic
  16. 16:02Definition and derivation
  17. 17:11Types as a design language
  18. 17:30How design programs work
  19. 18:40Types as design criteria
  20. 20:26Static types
  21. 21:04Premature optimization
  22. 23:16The atomic
  23. 25:52Type checking
  24. 31:04Type closure
  25. 33:28Type theory
~/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.