A META-LANGUAGE FOR TYPED OBJECT-ORIENTED LANGUAGES

被引:0
|
作者
CASTAGNA, G
机构
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In [12] we defined the lambda&-calculus, a simple extension of the typed lambda-calculus to model typed object-oriented languages. This paper is the continuation or, rather, the companion of [12] since it analyzes the practical counterpart of the theoretical issues introduced there. Indeed, to develop a formal study of type systems for object-oriented languages we define a meta-language based on lambda& and we show, by a practical example, how it can be used to prove properties of a language. To this purpose, we define a toy object-oriented language and its type-checking algorithm; then we translate this toy language into our meta-language. The translation gives the semantics of the toy language and a theorem on the translation of well-typed programs proves the correctness of the type-checker of the toy language. As an aside we also illustrate the expressivity of the lambda&-based model by showing how to translate existing features like multiple inheritance and multiple dispatch, but also by integrating in the toy language new features directly suggested by the model, such as first-class messages, a generalization of the use of super and the use of explicit coercions. An important novelty with respect to previous systems is that we show how to model multiple dispatch also in the presence of a notion of receiver (i.e. of a privileged argument to which the message is passed), a notion that is absent in languages like CLOS.
引用
收藏
页码:297 / 352
页数:56
相关论文
共 50 条
  • [1] Simple typed intermediate language for object-oriented languages
    Chen, J
    Tarditi, D
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (01) : 38 - 49
  • [2] Object-oriented encapsulation for dynamically typed languages
    Schärli, N
    Black, AP
    Ducasse, S
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (10) : 130 - 149
  • [3] Closures for statically-typed object-oriented languages
    Guimaraes, JD
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (08) : 54 - 60
  • [4] Implementing Statically Typed Object-Oriented Programming Languages
    Ducournau, Roland
    [J]. ACM COMPUTING SURVEYS, 2011, 43 (03)
  • [5] Inferable Object-Oriented Typed Assembly Language
    Tate, Ross
    Chen, Juan
    Hawblitzel, Chris
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (06) : 424 - 435
  • [6] Inferable Object-Oriented Typed Assembly Language
    Tate, Ross
    Chen, Juan
    Hawblitzel, Chris
    [J]. PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 424 - 435
  • [7] CONSTRAINT-DRIVEN PROGRAMMING IN STRONGLY-TYPED OBJECT-ORIENTED LANGUAGES
    YAU, SS
    GORE, JV
    [J]. COMPUTER LANGUAGES, 1993, 18 (03): : 169 - 183
  • [8] Weaving executability into object-oriented meta-languages
    Muller, PA
    Fleurey, F
    Jézéquel, JM
    [J]. MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2005, 3713 : 264 - 278
  • [9] DESIGN AND IMPLEMENTATION OF AN OBJECT-ORIENTED, STRONGLY TYPED LANGUAGE FOR DISTRIBUTED APPLICATIONS
    KRAKOWIAK, S
    MEYSEMBOURG, M
    VAN, HN
    RIVEILL, M
    ROISIN, C
    DEPINA, XR
    [J]. JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1990, 3 (03): : 11 - &
  • [10] OBJECT-ORIENTED LANGUAGES AND ACTORS - WHICH LANGUAGE FOR A DISTRIBUTED APPROACH
    CARRE, F
    CLERE, P
    [J]. SIGPLAN NOTICES, 1989, 24 (04): : 73 - 75