Modular domain specific languages and tools
- 27 November 2002
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 134-142
- https://doi.org/10.1109/icsr.1998.685738
Abstract
A domain specific language (DSL) allows one to develop software for a particular application domain quickly and effectively, yielding programs that are easy to understand, reason about, and maintain. On the other hand, there may be a significant overhead in creating the infrastructure needed to support a DSL. To solve this problem, a methodology is described for building domain specific embedded languages (DSELs), in which a DSL is designed within an existing, higher-order and typed, programming language such as Haskell or ML. In addition, techniques are described for building modular interpreters and tools for DSELs. The resulting methodology facilitates reuse of syntax, semantics, implementation code, software tools, as well as look-and-feel.Keywords
This publication has 8 references indexed in Scilit:
- Computational lambda-calculus and monadsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- An embedded modeling language approach to interactive 3D and multimedia animationIEEE Transactions on Software Engineering, 1999
- Functional reactive animationPublished by Association for Computing Machinery (ACM) ,1997
- Monad transformers and modular interpretersPublished by Association for Computing Machinery (ACM) ,1995
- Semantics directed program execution monitoringJournal of Functional Programming, 1995
- Building interpreters by composing monadsPublished by Association for Computing Machinery (ACM) ,1994
- Comprehending monadsPublished by Association for Computing Machinery (ACM) ,1990
- Functional geometryPublished by Association for Computing Machinery (ACM) ,1982