Traits have been designed as units of fine-grained behavior reuse in the object-oriented paradigm. In this paper, we present the language Sugared Welterweight Record-Trait Java (SWRTJ), a Java dialect with records and traits. Records have been devised to complement traits for fine-grained state reuse. Records and traits can be composed by explicit linguistic operations, allowing code manipulations to achieve fine-grained code reuse. Classes are assembled from (composite) records and traits and instantiated to generate objects. We present the prototypical implementation of SWRTJ using Xtext, an Eclipse framework for the development of programming languages as well as other domain-specific languages. Our implementation comprises an Eclipse-based editor for SWRTJ with typical IDE functionalities, and a stand-alone compiler, which translates SWRTJ programs into standard Java programs.

A Prototypical Java-like Language with Records and Traits

BETTINI, LORENZO;DAMIANI, Ferruccio;
2010-01-01

Abstract

Traits have been designed as units of fine-grained behavior reuse in the object-oriented paradigm. In this paper, we present the language Sugared Welterweight Record-Trait Java (SWRTJ), a Java dialect with records and traits. Records have been devised to complement traits for fine-grained state reuse. Records and traits can be composed by explicit linguistic operations, allowing code manipulations to achieve fine-grained code reuse. Classes are assembled from (composite) records and traits and instantiated to generate objects. We present the prototypical implementation of SWRTJ using Xtext, an Eclipse framework for the development of programming languages as well as other domain-specific languages. Our implementation comprises an Eclipse-based editor for SWRTJ with typical IDE functionalities, and a stand-alone compiler, which translates SWRTJ programs into standard Java programs.
2010
8th International Conference on the Principles and Practice of Programming in Java
Vienna, Austria
September 15-17, 2010
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
ACM
129
138
9781450302692
http://dl.acm.org/citation.cfm?doid=1852761
http://portal.acm.org/citation.cfm?id=1852761&coll=DL&dl=GUIDE&CFID=1185163&CFTOKEN=83588939
http://www.complang.tuwien.ac.at/pppj10/
design; eclipse; implementation; integrated environments; java; languages; object-oriented programming; trait; type structure; type system
Lorenzo Bettini; Ferruccio Damiani; Ina Schaefer; Fabio Strocco
File in questo prodotto:
File Dimensione Formato  
main.pdf

Accesso aperto

Tipo di file: PREPRINT (PRIMA BOZZA)
Dimensione 295.7 kB
Formato Adobe PDF
295.7 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/81755
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 7
  • ???jsp.display-item.citation.isi??? ND
social impact