Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Domain-specific languages: an annotated bibliography
ACM SIGPLAN Notices
Java Virtual Machine Specification
Java Virtual Machine Specification
Student paper: HaskellDB improved
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
jMock: supporting responsibility-based design with mock objects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Embedded typesafe domain specific languages for Java
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Hi-index | 0.00 |
Although 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 the community. We proceed to discuss the approaches that allow designing safe and flexible DSLs by extracting generic patterns where possible and describing more specific idioms where necessary. It is our goal that this paper would serve as a starting point for someone designing an embedded DSL that takes full advantage of the Java 5 features.