ACM Home Page
Please provide us with feedback. Feedback
Rank 2 intersection types for local definitions and conditional expressions
Full text PdfPdf (609 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 25 ,  Issue 4  (July 2003) table of contents
Pages: 401 - 451  
Year of Publication: 2003
ISSN:0164-0925
Author
Ferruccio Damiani  Università di Torino, Torino, Italy
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 27,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/778559.778560
What is a DOI?

ABSTRACT

We propose a rank 2 intersection type system with new typing rules for local definitions (let-expressions and letrec-expressions) and conditional expressions (if-expressions and match-expressions). This is a further step towards the use of intersection types in "real" programming languages.The technique for typing local definitions relies entirely on the principal typing property (i.e. it does not depend on particulars of rank 2 intersection), so it can be applied to any system with principal typings. The technique for typing conditional expressions, which is based on the idea of introducing metrics on types to "limit the use" of the intersection type constructor in the types assigned to the branches of the conditionals, is instead tailored to rank 2 intersection. However, the underlying idea might also be useful for other type systems.


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
Barendregt, H. P., Coppo, M., and Dezani-Ciancaglini, M. 1983. A filter lambda model and the completeness of type assignment. J. Symb. Logic 48, 931--940.
 
3
 
4
Coppo, M. and Dezani-Ciancaglini, M. 1980. An extension of basic functional theory for lambda-calculus. Notre Dame J. Formal Logic 21, 4, 685--693.
 
5
Coppo, M., Dezani-Ciancaglini, M., and Venneri, B. 1980. Principal Type Schemes and Lambda-calculus Semantics. In To H. B. Curry. Essays on Combinatory Logic, Lambda-calculus and Formalism, R. Hindley and J. Seldin, Eds. Accademic Press, London, 480--490.
 
6
Coppo, M., Dezani-Ciancaglini, M., and Venneri, B. 1981. Functional Characters of Solvable Terms. Zeith. Math. Logik Und Grund. Math. 27, 45--58.
 
7
 
8
Damas, L. M. M. 1984. Type Assignment in Programming Languages. Ph.D. thesis, University of Edinburgh.
9
 
10
 
11
 
12
Girard, J. Y. 1972. Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur. Ph.D. thesis, Université Paris VII.
13
 
14
 
15
16
 
17
Jim, T. 2000. A polar type system. In ICALP Workshops. Proceedings in Informatics, vol. 8. Carleton-Scientific, 323--338.
18
19
20
21
 
22
Leporati, E. 2000. Intersezione al rank 2 per MiniOcaml. M.S.thesis, Dipartimento di Informatica, Università di Torino.
 
23
Margaria, I. and Zacchi, M. 1995. Principal typing in a ∀∧ discipline. J. Logic Comp. 5, 367--381.
24
 
25
 
26
 
27
O'Caml. The O'Caml Language Home Page, http://www.ocaml.org.
 
28
 
29
 
30
Ronchi della Rocca, S. and Venneri, B. 1984. Principal Types Schemes for an extended type theory. Theoret. Comput. Sci. 28, 151--169.
31
 
32
 
33
van Bakel, S. 1993. Intersection Type Disciplines in Lambda Calculus and Applicative Term Rewriting Systems. Ph.D. thesis, Katholieke Universiteit Nijmegen.
 
34
 
35
Wells, J. 1994. Typability and type-checking in the second-order lambda-calculus are equivalent and undecidable. In Logic in Computer Science. IEEE, 176--185.
 
36



Peer to Peer - Readers of this Article have also read: