Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Sun 22 Oct 2017 14:37 - 15:00 at Regency A - Session 3 Chair(s): Eric Walkingshaw

Domain specific programming languages bridge the linguistic and conceptual gap between domain languages and implementation languages. One aspect of bridging the gap is to express the domain specific concepts in a language more natural for the domain experts. In recent years, in linguistics, concepts from computer science such as effect operations (e.g. shift/reset and continuations in general) have successfully been used to provide compositional models for natural language semantics. We propose to pick up the old theme of naturalistic DSLs and reevaluate it in the scope of algebraic effects. Building on the insights of linguists, we demonstrate how linguistic features such as anaphora, quantification and implicature can directly be implemented in the Dotty programming language using a library for algebraic effects. As opposed to ad hoc implementation techniques for naturalistic DSLs, systematically using algebraic effects and effectful syntax leads to programs that exactly communicate the usage of linguistic features in their types, offers improved error reporting and better IDE support. We believe that effectful syntax opens up a new interesting perspective on the design and implementation of naturalistic DSLs.