~/talk

Compositional Embeddings of Domain-Specific Languages

Talkat OOPSLA 2022 · 2022-12-05..12-10· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Claims a compositional embedding implemented in the CP language that combines shallow and deep benefits by typing constructors with an abstract sort and merging constructors plus semantics via nested trait composition and intersection types. It uses trait-based interfaces, a fat‑arrow style dependency injection to allow mutual recursion between interpretations, and preserves sharing so duplicated subexpressions aren’t re-evaluated. The ExT document DSL is implemented and evaluated with three case studies (Minipedia, fractals, customizable charts), showing modular extensibility though Haskell/Scala encodings need much more boilerplate.

AI-written summary · about

  1. 0:00Computational embeddings of DSLs
  2. 1:02Embedded vs external DSLs
  3. 2:05Shallow vs deep embeddings
  4. 3:33Linguistic reuse in embeddings
  5. 5:43Expression problem in DSLs
  6. 7:28Dependencies and extended expression problem
  7. 10:23Computational embeddings intro
  8. 11:49CP language features
  9. 12:51Linguistic reuse in CP
  10. 13:33Adding constructs and interpretations
  11. 14:40Trait composition in CP
  12. 16:11Handling dependencies in CP
  13. 17:41Comparison with embedding techniques
  14. 18:23Scaling with EXT
  15. 19:05Minipedia case study
  16. 19:50Fractals case study
  17. 20:11Customizable charts
  18. 20:31Haskell and Scala embeddings
  19. 21:31Q&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.