GPCE Home
GPCE'11 Home
Keynotes
Schedule
Accepted Papers
Tech Talks
Poster
Banner
Organization
Dates
Venue
Registration
Calls for
Papers
Tech Talks
Workshops
Electronic
Submission
(Submission deadline has passed)
Abstract: Programs in domain-specific embedded languages (DSELs) can be represented in the host language in different ways, for instance implicitly as libraries, or explicitly in the form of abstract syntax trees. Each of these representations has its own strengths and weaknesses. The implicit approach has good composability properties, whereas the explicit approach allows more freedom in making syntactic program transformations.
Traditional designs for DSELs fix the form of representation, which means that it is not possible to choose the best representation for a particular interpretation or transformation. We propose a new design for implementing DSELs in Scala which makes it easy to use different program representations at the same time. It enables the DSL implementor to define modular language components and to compose transformations and interpretations for them.