SDM: Week 8

Topic: Domain specific languages

Lectures

Domain-specific languages: 

Q&A: We mostly discussed different kinds of DSLs (internal, external, textual, graphical) and how they are defined (syntax, concrete and abstract; semantics of various kinds; pragmatics). We also discussed the Law of Demeter, when it is and isn't a problem, and what to do if your code breaks it and this is a problem, principally by renegotiating an insufficiently rich API. We also discussed fluent interfaces and their relationship to LoD.

Videos

  • DSL development with xtext Sven Efftinge. (This is 50 mins long. Please watch the first 21 or so minutes carefully, understanding what xtext is and is for, and how to write an xtext grammar for a given language. Then it is fine if your watching of the rest of the video is more impressionistic: get an idea of what is possible, but you don't need to come out understanding how to drive the xtext tools in detail!)
  • Optional: GOTO 2018 Build your own language: why and how? Markus Voelter (NB the point, of course, is not to learn MPS, the specific language engineering tech he's talking about, but to follow the general discussion.)

Readings

License
All rights reserved The University of Edinburgh