ACM Home Page
Please provide us with feedback. Feedback
Rank 2 intersection types for modules
Full text PdfPdf (271 KB)
Source International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming table of contents
Uppsala, Sweden
Pages: 67 - 78  
Year of Publication: 2003
ISBN:1-58113-705-2
Author
Ferruccio Damiani  Università di Torino, Torino, Italy
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 5,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/888251.888259
What is a DOI?

ABSTRACT

We propose a rank 2 intersection type system for a language of modules built on a core ML-like language. The principal typing property of the rank 2 intersection type system for the core language plays a crucial role in the design of the type system for the module language. We first consider a "plain" notion of module, where a module is just a set of mutually recursive top-level definitions, and illustrate the notions of: module intrachecking (each module is typechecked in isolation and its interface, which is the set of typings of the defined identifiers, is inferred); interface interchecking (when linking modules, typechecking is done just by looking at the interfaces); interface specialization (interface intrachecking may require to specialize the typing listed in the interfaces); principal interfaces (the principal typing property for the type system of modules); and separate typechecking (looking at the code of the modules does not provide more type information than looking at their interfaces). Then we illustrate some limitations of the "plain" framework and extend the module language and the type system in order to overcome these limitations. The decidability of the system is shown by providing algorithms for the fundamental operations involved in module intrachecking and interface interchecking.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
H. P. Barendregt, M. Coppo, and M. Dezani-Ciancaglini. A filter lambda model and the completeness of type assignment. Journal of Symbolic Logic, 48:931--940, 1983.
3
 
4
 
5
M. Coppo and M. Dezani-Ciancaglini. An extension of basic functional theory for lambda-calculus. Notre Dame Journal of Formal Logic, 21(4):685--693, 1980.
 
6
M. Coppo, M. Dezani-Ciancaglini, and B. Venneri. Functional Characters of Solvable Terms. Zeith. Math. Logik Und Grund. Math., 27:45--58, 1981.
 
7
 
8
L. M. M. Damas. Type Assignment in Programming Languages. PhD thesis, University of Edinburgh, 1984.
9
 
10
F. Damiani. Rank 2 Intersection Types for Modules. Version with conclusions and appendices - available at: http://www.di.unito.it/~damiani/papers/ppdp03.html.
11
12
 
13
14
15
 
16
17
 
18
S. van Bakel. Intersection Type Disciplines in Lambda Calculus and Applicative Term Rewriting Systems. PhD thesis, Katholieke Universiteit Nijmegen, 1993.
 
19
 
20