A calculus of module systems

被引:41
|
作者
Ancona, D [1 ]
Zucca, E [1 ]
机构
[1] Dipartimento Informat & Sci Informaz, I-16146 Genoa, Italy
关键词
D O I
10.1017/S0956796801004257
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present CMS, a simple and powerful calculus of modules supporting mutual recursion and higher order features, which can be instantiated over an arbitrary core calculus satisfying standard assumptions. The calculus allows expression of a large variety of existing mechanisms for combining software components, including parameterized modules similar to ML functors, extension with overriding as in object-oriented programming, mixin modules and extra-linguistic mechanisms like those provided by a linker. Hence CMS can be used as a paradigmatic calculus for modular languages, in the same spirit the lambda calculus is used for functional programming. We first present an untyped version of the calculus and then a type system; we prove confluence, progress, and subject reduction properties. Then, we define a derived calculus of mixin modules directly in terms of CMS and show how to encode other primitive calculi into CMS (the lambda calculus and the Abadi-Cardelli object calculus). Finally, we consider the problem of introducing a subtype relation for module types.
引用
收藏
页码:91 / 132
页数:42
相关论文
共 50 条
  • [1] A primitive calculus for module systems
    Ancona, D
    Zucca, E
    PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PROCEEDINGS, 1999, 1702 : 62 - 79
  • [2] A module calculus for pure type systems
    Courant, J
    TYPED LAMBDA CALCULI AND APPLICATIONS, 1997, 1210 : 112 - 128
  • [3] Ml2 -: A module calculus for Pure Type Systems
    Courant, Judicael
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2007, 17 : 287 - 352
  • [4] Module white noise calculus
    Accardi, L.
    Ayed, W.
    Ouerdiane, H.
    RANDOM OPERATORS AND STOCHASTIC EQUATIONS, 2007, 15 (04) : 353 - 386
  • [5] A calculus with lazy module operators
    Ancona, D
    Fagorzi, S
    Zucca, E
    EXPLORING NEW FRONTIERS OF THEORETICAL INFORMATICS, 2004, 155 : 423 - 436
  • [6] Enriched μ-calculus pushdown module checking
    Ferrante, Alessandro
    Murano, Aniello
    Parente, Mimmo
    LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING, PROCEEDINGS, 2007, 4790 : 438 - +
  • [7] THE CLASSICAL UMBRAL CALCULUS AND THE FLOW OF A DRINFELD MODULE
    Nguyen Ngoc Dong Quan
    TRANSACTIONS OF THE AMERICAN MATHEMATICAL SOCIETY, 2017, 369 (02) : 1265 - 1289
  • [8] A Behavioral module system for the pi-calculus
    Rajamani, SK
    Rehof, J
    STATIC ANALYSIS, PROCEEDINGS, 2001, 2126 : 375 - 394
  • [9] MODULE FOR LEARNING INTEGRAL CALCULUS WITH MAPLE: LECTURERS' VIEWS
    Salleh, Tuan Salwani Awang
    Zakaria, Effandi
    TURKISH ONLINE JOURNAL OF EDUCATIONAL TECHNOLOGY, 2012, 11 (03): : 234 - 245
  • [10] μ-calculus pushdown module checking with imperfect state information
    Aminof, Benjamin
    Legay, Axel
    Murano, Aniello
    Serre, Olivier
    FIFTH IFIP INTERNATIONAL CONFERENCE ON THEORETICAL COMPUTER SCIENCE - TCS 2008, 2008, 273 : 333 - +