Mon 18 - Tue 19 July 2016 Rome, Italy
co-located with ECOOP 2016
Tue 19 Jul 2016 16:50 - 17:30 at Auditorium Loyola - Session 6b

Object algebras have very interesting properties and are yet underused for defining embedded DSLs. Object algebras allow the developer to define embedded DSLs in an extensible and modular way: DSLs can be broken down into independent pieces and can have several independent interpretations. Furthermore, with object algebras it is easy to define families of DSLs, that is, DSLs that specialize other DSLs. Finally, the cost of interpretation is cheap because there is no intermediate representation. This talk shows how to design such DSLs in Scala, and exercises the aforementioned features on a practical example: a DSL describing HTTP APIs in which one can derive clients, servers and documentation.

Julien Richard-Foy is a consultant for Zengularity. He likes designing code at the right level of abstraction.

Tue 19 Jul

16:00 - 17:30: CurryOn - Session 6b at Auditorium Loyola
curryon-2016146893680000016:00 - 16:40
curryon-2016146893980000016:50 - 17:30