• Title of article

    On flexible dynamic trait replacement for Java-like languages

  • Author/Authors

    Lorenzo Bettini، نويسنده , , Sara Capecchi and Betti Venneri، نويسنده , , Ferruccio Damiani، نويسنده ,

  • Issue Information
    ماهنامه با شماره پیاپی سال 2013
  • Pages
    26
  • From page
    907
  • To page
    932
  • Abstract
    Dynamic trait replacement is a programming language feature for changing the objects’ behavior at runtime by replacing some of the objects’ methods. In previous work on dynamic trait replacement for Java-like languages, the objects’ methods that may be replaced must correspond exactly to a named trait used in the object’s class definition. In this paper we propose the notion of replaceable: a programming language feature that decouples the trait replacement operation code and the class declaration code, thus making it possible to refactor classes and to perform unanticipated trait replacement operations without invalidating existing code. We give a formal account of our proposal through a core calculus, FDTJ (Featherweight Dynamic Trait Java), equipped with a static type system guaranteeing that in a well-typed program no runtime type error will take place.
  • Keywords
    Featherweight Java , trait , Type system
  • Journal title
    Science of Computer Programming
  • Serial Year
    2013
  • Journal title
    Science of Computer Programming
  • Record number

    1080366