Polymorphic Functions with Set-Theoretic Types Part 1: Syntax, Semantics, and Evaluation

被引:18
作者
Castagna, Giuseppe [1 ]
Nguyen, Kim [2 ]
Xu, Zhiwu [1 ,3 ]
Im, Hyeonseung [2 ]
Lenglet, Serguei [4 ]
Padovani, Luca [5 ]
机构
[1] Univ Paris Diderot, Sorbonne Paris Cite, CNRS, PPS, Paris, France
[2] Univ Paris Sud, LRI, Orsay, France
[3] Chinese Acad Sci, Inst Software, State Key Lab Comp Sci, Beijing, Peoples R China
[4] Univ Lorraine, LORIA, Nancy, France
[5] Univ Turin, Dipartimento Informat, I-10149 Turin, Italy
关键词
Types; polymorphism; XML; intersection types; INTERSECTION; CALCULUS;
D O I
10.1145/2535838.2535840
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This article is the first part of a two articles series about a calculus with higher-order polymorphic functions, recursive types with arrow and product type constructors and set-theoretic type connectives (union, intersection, and negation). In this first part we define and study the explicitly-typed version of the calculus in which type instantiation is driven by explicit instantiation annotations. In particular, we define an explicitly-typed.-calculus with intersection types and an efficient evaluation model for it. In the second part, presented in a companion paper, we define a local type inference system that allows the programmer to omit explicit instantiation annotations, and a type reconstruction system that allows the programmer to omit explicit type annotations. The work presented in the two articles provides the theoretical foundations and technical machinery needed to design and implement higher-order polymorphic functional languages for semi-structured data.
引用
收藏
页码:5 / 17
页数:13
相关论文
共 22 条
[1]  
[Anonymous], 2005, Advanced Topics in Types and Programming Languages
[2]   A FILTER LAMBDA-MODEL AND THE COMPLETENESS OF TYPE ASSIGNMENT [J].
BARENDREGT, H ;
COPPO, M ;
DEZANI-CIANCAGLINI, M .
JOURNAL OF SYMBOLIC LOGIC, 1983, 48 (04) :931-940
[3]  
Benzaken V., 2003, ICFP 03
[4]   A typed lambda calculus with intersection types [J].
Bono, Viviana ;
Venneri, Betti ;
Bettini, Lorenzo .
THEORETICAL COMPUTER SCIENCE, 2008, 398 (1-3) :95-113
[5]  
Castagna G., 2011, ICFP 11
[6]  
Castagna G., 2013, POLYMORPHIC 2 UNPUB
[7]  
COPPO M, 1980, HB CURRY ESSAYS COMB
[8]  
Della Rocca Simona Ronchi, 2002, ELECT NOTES THEOR CO, V70, P163, DOI [10.1016/S1571-0661(04)80496-1, DOI 10.1016/S1571-0661(04)80496-1]
[9]  
Dunfield J., 2004, POPL 04
[10]  
Frisch A., 2006, ICFP 06