TraitRecordJ is a Java-like language where units of objects’ functionality are modeled by traits and by records (a construct that complements traits to model the state part of objects).
Records and traits are assembled in classes that are instantiated (as usual) to build objects. The composition of records and traits is realized by explicit operators of the language, allowing code manipulations for achieving fine-grained code reuse.
We provide a stand-alone compiler as well as an Eclipse text editor, with standard IDE functionalities (syntax highlighting, code completion, outline, building, etc.). All software is GPL.
NOTE: The previous version of the language was named SWRTJ (Sugared Welterweight Record-Trait Java). We kept this acronym for TraitRecordJ files and plugin namespaces for backward compatibility.