On designing safe and flexible embedded DSLs with Java 5
Saved in:
| Title: | On designing safe and flexible embedded DSLs with Java 5 |
|---|---|
| Authors: | Kabanov, Jevgeni1 ekabanov@gmail.com, Hunger, Michael2 michael.hunger@jexp.de, Raudjärv, Rein1 reinra@gmail.com |
| Source: | Science of Computer Programming. Nov2011, Vol. 76 Issue 11, p970-991. 22p. |
| Subjects: | Java programming language, Embedded computer system design & construction, Digital subscriber lines, Programming languages, Generic programming (Computer science), Computer security |
| Abstract: | Abstract: 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. [Copyright &y& Elsevier] |
| Copyright of Science of Computer Programming is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
| FullText | Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 61237336 AccessLevel: 6 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: On designing safe and flexible embedded DSLs with Java 5 – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Kabanov%2C+Jevgeni%22">Kabanov, Jevgeni</searchLink><relatesTo>1</relatesTo><i> ekabanov@gmail.com</i><br /><searchLink fieldCode="AR" term="%22Hunger%2C+Michael%22">Hunger, Michael</searchLink><relatesTo>2</relatesTo><i> michael.hunger@jexp.de</i><br /><searchLink fieldCode="AR" term="%22Raudjärv%2C+Rein%22">Raudjärv, Rein</searchLink><relatesTo>1</relatesTo><i> reinra@gmail.com</i> – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22Science+of+Computer+Programming%22">Science of Computer Programming</searchLink>. Nov2011, Vol. 76 Issue 11, p970-991. 22p. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22Java+programming+language%22">Java programming language</searchLink><br /><searchLink fieldCode="DE" term="%22Embedded+computer+system+design+%26+construction%22">Embedded computer system design & construction</searchLink><br /><searchLink fieldCode="DE" term="%22Digital+subscriber+lines%22">Digital subscriber lines</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+languages%22">Programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Generic+programming+%28Computer+science%29%22">Generic programming (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+security%22">Computer security</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: Abstract: 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. [Copyright &y& Elsevier] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of Science of Computer Programming is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=61237336 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1016/j.scico.2010.04.005 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 22 StartPage: 970 Subjects: – SubjectFull: Java programming language Type: general – SubjectFull: Embedded computer system design & construction Type: general – SubjectFull: Digital subscriber lines Type: general – SubjectFull: Programming languages Type: general – SubjectFull: Generic programming (Computer science) Type: general – SubjectFull: Computer security Type: general Titles: – TitleFull: On designing safe and flexible embedded DSLs with Java 5 Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Kabanov, Jevgeni – PersonEntity: Name: NameFull: Hunger, Michael – PersonEntity: Name: NameFull: Raudjärv, Rein IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 11 Text: Nov2011 Type: published Y: 2011 Identifiers: – Type: issn-print Value: 01676423 Numbering: – Type: volume Value: 76 – Type: issue Value: 11 Titles: – TitleFull: Science of Computer Programming Type: main |
| ResultId | 1 |