~/talk

Types that Change: The Extensible Type Design Pattern

Talkat FUNARCH 2023 · on Friday, 2023-09-08· [compilers-and-language-design]
slides:none on file

Defines an extensible type design pattern: an ADT parameterized by a type-function applied to every field so instantiations can be identity, Either String for parse errors, type+location annotations, Maybe for diffs, etc. Uses type-compose and cites Barbies; applies the pattern to Copilot and rewrites Ogma at NASA, cutting three separate AST representations down to one and removing large duplication; reports real-world validation with good results but notes harder pattern-matching and reliance on IDE/type-tooling.

AI-written summary · about

  1. 0:00Extensible type design pattern
  2. 5:36Core concept
  3. 9:08Practical applications in compilers
  4. 14:26Embedding variables and expressions
  5. 17:22NASA with Copilot use case
  6. 22:24Beyond compilers
  7. 26:16Limitations and alternatives
  8. 30:12Tooling and IDE support
  9. 33:23Related work
  10. 36:10Closing remarks & Q&A
~/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.