Programming pearls
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
Hibernate in Action (In Action series)
Hibernate in Action (In Action series)
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
A generative programming approach to developing pervasive computing systems
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Compiler plugins can handle nested languages: AST-level expansion of LINQ queries for java
ICOODB'09 Proceedings of the Second international conference on Object databases
On designing safe and flexible embedded DSLs with Java 5
Science of Computer Programming
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Hi-index | 0.00 |
Projects like jMock and Hibernate Criteria Query introduced embedded DSLs into Java. We describe two case studies in which we develop embedded typesafe DSLs for building SQL queries and engineering Java bytecode. We proceed to extract several patterns useful for developing typesafe DSLs for arbitrary domains. Unlike most previous Java DSLs we find that mixing the Fluent Interface idiom with static functions, metadata and closures provides for a better user experience than pure method chaining. We also make very liberal use of the Java 5 Generics to improve the type safety properties of the DSLs.