Domain Specific Languages

When most people think of a programming language they think of a general purpose language: one capable of programming any application with relatively the same degree of expressiveness and efficiency. For many applications, however, there are more natural ways to express the solution to a problem than those afforded by general purpose programming languages. As a result, researchers and practitioners in recent years have developed many different domain specific languages, or DSL’s, which are tailored to particular application domains. With an appropriate DSL, one can develop complete application programs for a domain more quickly and more effectively than with a general purpose language. Ideally, a well-designed DSL captures precisely the semantics of an application domain, no more and no less.

[1]  Peter Henderson Functional geometry , 1982, LFP '82.

[2]  Philip Wadler,et al.  Comprehending monads , 1990, LISP and Functional Programming.

[3]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.

[4]  Guy L. Steele,et al.  Building interpreters by composing monads , 1994, POPL '94.

[5]  Thomas W. Reps,et al.  Generating Language-Based Environments , 1982 .

[6]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[7]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[8]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[9]  Paul Hudak,et al.  Modular monadic semantics and compilation , 1998 .

[10]  E. Schmidt,et al.  Lex—a lexical analyzer generator , 1990 .

[11]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[12]  Paul Hudak,et al.  Monad transformers and modular interpreters , 1995, POPL '95.

[13]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[14]  Paul Hudak,et al.  Modular Denotational Semantics for Compiler Construction , 1996, ESOP.

[15]  David A. Espinosa Semantic Lego , 1995 .