2011
DOI: 10.1016/j.scico.2010.04.005
|View full text |Cite
|
Sign up to set email alerts
|

On designing safe and flexible embedded DSLs with Java 5

Abstract: a b s t r a c tAlthough embedded DSLs are widely used in both functional and dynamic languages they are yet to be widely accepted in the Java community. The best available examples are projects like jMock and Hibernate Criteria Query. In this paper we introduce the design of three novel practical embedded DSLs that we designed to showcase the power of Java language and specifically the changes introduced in Java 5. One of those DSLs is fully implemented as an open source project and is gathering momentum in th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2013
2013
2017
2017

Publication Types

Select...
3

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(1 citation statement)
references
References 7 publications
0
1
0
Order By: Relevance
“…A fluent interface is one where syntactic features of the hosting language are used to good effect to construct an internal DSL that captures the jargon, the commands and other notions of the requisite application domain. We make use of modern Java [11] and language features such as for-each iteration [22] to implement a fluent interface for our graph and network computational framework. We are able to support graph algorithms [28] to compute component labelling [18]; path and loop identification and classification [16,26]; and generation [27,29] of a range of different synthetic graph data sets.…”
Section: Introductionmentioning
confidence: 99%
“…A fluent interface is one where syntactic features of the hosting language are used to good effect to construct an internal DSL that captures the jargon, the commands and other notions of the requisite application domain. We make use of modern Java [11] and language features such as for-each iteration [22] to implement a fluent interface for our graph and network computational framework. We are able to support graph algorithms [28] to compute component labelling [18]; path and loop identification and classification [16,26]; and generation [27,29] of a range of different synthetic graph data sets.…”
Section: Introductionmentioning
confidence: 99%