The following paper was originally published in the Proceedings of the Conference on Domain-Specific Languages Santa Barbara, California, October 1997 A Modular Monadic Action Semantics Keith Wansbrough and John Hamer University of Auckland For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email:
[email protected] 4. WWW URL:http://www.usenix.org A Modular Monadic Action Semantics Keith Wansbrough John Hamer Department of Computer Science University of Auckland Auckland, New Zealand g fkeith-w,j-hamer @cs.auckland.ac.nz Abstract clearly and precisely defined; modular enough to change A domain-specific language (DSL) is a framework incrementally; and amenable to formal reasoning. Differ- which is designed to precisely meet the needs of a particu- ent tools exist that address these varied requirements, but lar application. Domain-specific languages exist for a vari- few make any attempt to address them all. Compiler gener- ety of reasons. As productivity tools, they are used to make ators provide efficient implementations, but they typically application prototyping and development faster and more have weak formal properties. We do not consider such sys- robust in the presence of evolving requirements. Further- tems further in this paper. Semantic formalisms, such as more, by bridging the “semantic gap” between an applica- denotational semantics and structural operational seman- tion domain and program code, DSLs increase the oppor- tics, have richly developed theories but are difficult to use tunity to apply formal methods in proving properties of an and lack modularity. application. The conceptual distance between the high-level language In this paper, we contribute a synthesis of two existing and established semantic formalisms is huge.