Publication | Closed Access
J&
100
Citations
30
References
2006
Year
Unknown Venue
High-level Programming LanguageEngineeringProgram AnalysisCompiler TechnologyFormal MethodsSoftware AnalysisSoftware EngineeringProgramming Language ImplementationObject-oriented ProgrammingComputer ScienceLanguage JxExtensible LanguageFormal VerificationSystem SoftwareSoftware DesignNested InheritanceProgramming Languages
This paper introduces a programming language that makes it convenient to compose large software systems, combining their features in a modular way. J& supports nested intersection, building on earlier work on nested inheritance in the language Jx. Nested inheritance permits modular, type-safe extension of a package (including nested packages and classes), while preserving existing type relationships. Nested intersection enables composition and extension of two or more packages, combining their types and behavior while resolving conflicts with a relatively small amount of code. The utility of J& is demonstrated by using it to construct two composable, extensible frameworks: a compiler framework for Java, and a peer-to-peer networking system. Both frameworks support composition of extensions. For example, two compilers adding different, domain-specific features to Java can be composed to obtain a compiler for a language that supports both sets of features.
| Year | Citations | |
|---|---|---|
Page 1
Page 1