FeatherTrait: A modest extension of Featherweight Java
Uložené v:
| Názov: | FeatherTrait: A modest extension of Featherweight Java |
|---|---|
| Autori: | Liquori, Luigi, Spiwack, Arnaud |
| Prispievatelia: | Spiwack, Arnaud, Logical Networks: Self-organizing Overlay Networks and Programmable Overlay Computing Systems (LOGNET), Inria Sophia Antipolis - Méditerranée (CRISAM), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria), Types, Logic and computing (TYPICAL), Laboratoire d'informatique de l'École polytechnique Palaiseau (LIX), École polytechnique (X), Institut Polytechnique de Paris (IP Paris)-Institut Polytechnique de Paris (IP Paris)-Centre National de la Recherche Scientifique (CNRS)-École polytechnique (X), Institut Polytechnique de Paris (IP Paris)-Institut Polytechnique de Paris (IP Paris)-Centre National de la Recherche Scientifique (CNRS)-Centre Inria de Saclay, Institut Polytechnique de Paris (IP Paris)-Institut Polytechnique de Paris (IP Paris)-Centre National de la Recherche Scientifique (CNRS) |
| Zdroj: | ACM Transactions on Programming Languages and Systems. 30:1-32 |
| Informácie o vydavateľovi: | Association for Computing Machinery (ACM), 2008. |
| Rok vydania: | 2008 |
| Predmety: | [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL], Inheritance, [INFO.INFO-LO] Computer Science [cs]/Logic in Computer Science [cs.LO], ACM: D.: Software/D.3: PROGRAMMING LANGUAGES, ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.1: Formal Definitions and Theory, ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.3: Language Constructs and Features, [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO], ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.2: Language Classifications, Language semantics, 0102 computer and information sciences, 02 engineering and technology, 01 natural sciences, [INFO.INFO-CL]Computer Science [cs]/Computation and Language [cs.CL], [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], Language design, ACM: F.: Theory of Computation/F.3: LOGICS AND MEANINGS OF PROGRAMS, ACM: F.: Theory of Computation/F.3: LOGICS AND MEANINGS OF PROGRAMS/F.3.3: Studies of Program Constructs, [INFO.INFO-CL] Computer Science [cs]/Computation and Language [cs.CL], 0202 electrical engineering, electronic engineering, information engineering, ACM: F.: Theory of Computation/F.3: LOGICS AND MEANINGS OF PROGRAMS/F.3.3: Studies of Program Constructs/F.3.3.2: Object-oriented constructs, Java, ACM: F.: Theory of Computation/F.3: LOGICS AND MEANINGS OF PROGRAMS/F.3.2: Semantics of Programming Languages |
| Popis: | In the context of statically typed, class-based languages , we investigate classes that can be extended with trait composition. A trait is a collection of methods without state; it can be viewed as an incomplete stateless class . Traits can be composed in any order, but only make sense when imported by a class that provides state variables and additional methods to disambiguate conflicting names arising between the imported traits. We introduce FeatherTrait Java (FTJ), a conservative extension of the simple lightweight class-based calculus Featherweight Java (FJ) with statically typed traits . In FTJ, classes can be built using traits as basic behavioral bricks; method conflicts between imported traits must be resolved explicitly by the user either by (i) aliasing or excluding method names in traits, or by (ii) overriding explicitly the conflicting methods in the class or in the trait itself. We present an operational semantics with a lookup algorithm, and a sound type system that guarantees that evaluating a well-typed expression never yields a message-not-understood run-time error nor gets the interpreter stuck. We give examples of the increased expressive power of the trait-based inheritance model. The resulting calculus appears to be a good starting point for a rigorous mathematical analysis of typed class-based languages featuring trait-based inheritance. |
| Druh dokumentu: | Article |
| Popis súboru: | application/pdf |
| Jazyk: | English |
| ISSN: | 1558-4593 0164-0925 |
| DOI: | 10.1145/1330017.1330022 |
| Prístupová URL adresa: | https://hal.inria.fr/inria-00432538/file/fjtraits.pdf https://inria.hal.science/inria-00432538v1 https://inria.hal.science/inria-00432538v1/document https://doi.org/10.1145/1330017.1330022 https://www-sop.inria.fr/members/Luigi.Liquori/PAPERS/toplas-07.pdf https://hal.inria.fr/inria-00432538/document https://dl.acm.org/doi/10.1145/1330017.1330022 https://hal.inria.fr/inria-00432538 https://dblp.uni-trier.de/db/journals/toplas/toplas30.html#LiquoriS08 |
| Rights: | URL: https://www.acm.org/publications/policies/copyright_policy#Background |
| Prístupové číslo: | edsair.doi.dedup.....e39d6b03f6f1513f30fde6ee2862b587 |
| Databáza: | OpenAIRE |
Buďte prvý, kto okomentuje tento záznam!
Full Text Finder
Nájsť tento článok vo Web of Science