ACM Home Page
Please provide us with feedback. Feedback
Embedded typesafe domain specific languages for Java
Full text PdfPdf (346 KB)
Source
ACM International Conference Proceeding Series; Vol. 347 archive
Proceedings of the 6th international symposium on Principles and practice of programming in Java table of contents
Modena, Italy
SESSION: Java language issues table of contents
Pages 189-197  
Year of Publication: 2008
ISBN:978-1-60558-223-8
Authors
Jevgeni Kabanov  University of Tartu, Tartu, Estonia
Rein Raudjärv  University of Tartu, Tartu, Estonia
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 46,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1411732.1411758
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
J. Aasaru. Typesafe DSL for Relational Data Manipulation in Java. Master's thesis, University of Tartu, 2008.
 
2
3
4
 
5
E. Bruneton, R. Lenglet, and T. Coupaye. ASM: a code manipulation tool to implement adaptable systems. Adaptable and Extensible Component Systems, 2002.
 
6
 
7
M. Fowler and E. Evans. Fluentlnterface at http://www.martinfowler.com/bliki/FluentInterface.html, 2005.
8
 
9
10
 
11
12

Collaborative Colleagues:
Jevgeni Kabanov: colleagues
Rein Raudjärv: colleagues