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.