FeatherTrait: A modest extension of Featherweight Java

Uložené v:
Podrobná bibliografia
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!
Najprv sa musíte prihlásiť.