Proceedings of the 2nd Conference on Domain-Specific Languages 1999
DOI: 10.1145/331960.331977
|View full text |Cite
|
Sign up to set email alerts
|

Domain specific embedded compilers

Abstract: Domain-specific embedded languages (DSELs) expressed in higher-order, typed (HOT) languages provide a composable framework/or domain-specific abstractions. Such a framework is o] greater utilsty than a collectwn o/stand-alone domain-specific languages. Usually, embedded domain speczfic languages are build on top o] a set o] domain specific primitwe ]unctions that are ultimately implemented using some ]orm o/]oreign ]unction call. We sketch a general design pattern/or embedding chent-server style services in… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
136
0

Year Published

2000
2000
2014
2014

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 178 publications
(136 citation statements)
references
References 7 publications
0
136
0
Order By: Relevance
“…The use of phantom type variables to type embedded languages was first introduced by Leijen and Meijer to type an embedding of SQL in Haskell [21]; it makes it possible to "tag" extra type information on data. In our context, we use it to add the information about the type of the join points matched by a pointcut: PC m a b means that a pointcut can match applications of functions of type a → m b.…”
Section: Typing Pointcutsmentioning
confidence: 99%
See 1 more Smart Citation
“…The use of phantom type variables to type embedded languages was first introduced by Leijen and Meijer to type an embedding of SQL in Haskell [21]; it makes it possible to "tag" extra type information on data. In our context, we use it to add the information about the type of the join points matched by a pointcut: PC m a b means that a pointcut can match applications of functions of type a → m b.…”
Section: Typing Pointcutsmentioning
confidence: 99%
“…5). Type soundness is directly derived by relying on the existing type system of Haskell (type classes [47], phantom types [21], and some recent extensions of the Glasgow Haskell Compiler). Specifically, we define a novel type class for anti-unification [32,33], which is key to define safe aspects.…”
Section: Introductionmentioning
confidence: 99%
“…The benefits of embedding DSLs in Haskell are numerous and have been described, for example, by Hudak [5,6] as well as Leijen and Meijer [10]. Haskell allows for more readable embedded DSL programs with its infix function application, and monads provide a powerful abstraction of computations.…”
Section: Related Workmentioning
confidence: 99%
“…For concreteness, let us review a simple example, due to Leijen and Meijer [8]. Consider a type of atoms, either booleans or integers, that can be easily represented as an algebraic datatype: datatype atom = I of int I B of bool There are a number of operations that we may perform on such atoms (see Figure 1 (a)).…”
Section: Introductionmentioning
confidence: 99%
“…This is the essence of the technique explored in this paper: using a free type variable to encode subtyping information and using an ML-like type system to enforce the subtyping. This "phantom types" technique, where user-defined restrictions are reflected in the constrained types of values and functions, underlies many interesting uses of type systems [14,12,2,13,6,8,5,11,1]. The main contributions of this paper are to exhibit a general encoding of subtyping hierarchies and to give one formalization of the use of the phantom types technique.…”
Section: Introductionmentioning
confidence: 99%