Real World Embedded DSLs
Posted on August 27, 2019
I delivered a series of lectures on Real World Embedded DSLs at
the Scottish Programming Languages and Verification Summer School (SPLV) 2019.
The slides cover:
- DSL and embedded DSL definitions.
- Advantages: notation, abstraction, compositionality, speed, productivity, correctness.
- Disadvantages: requires language implementation expertise and domain knowledge, engineering costs, mission creep.
- Developing internal DSLs: shallow embeddings, deeply embedded compilers, compile-time and runtime metaprogramming.
- Case studies: array processing, hardware description, deep learning, systems programming.
The slides are available here.