Output details
11 - Computer Science and Informatics
University of St Andrews
Resource-Safe Systems Programming with Embedded Domain Specific Languages
<08>We introduce a novel programming construct, "dsl", and give its formal semantics and several examples. This is a conceptually simple but extremely powerful construct which allows the overloading of name binding. Overloading of language features is an important tool for embedded domain specific language designers - the "dsl" construct simultaneously gives extra flexibility in overloading and a readable and writable syntax for end users. The examples in the paper show how the construct can be used to build composable DSLs for verifying resource usage, and verifying network protocols, and how such DSLs can make program verification accessible to non-specialists.