ACM Home Page
Please provide us with feedback. Feedback
The typed polymorphic label-selective λ-calculus
Full text PdfPdf (1.30 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Portland, Oregon, United States
Pages: 35 - 47  
Year of Publication: 1994
ISBN:0-89791-636-0
Authors
Jacques Garrigue  Department of Information Science, The University of Tokyo 7-3-1 Hongo, Bunkyo-ku Tokyo 113, Japan
Hassan Aït-Kaci  Digital Equipment Corporation, Paris Research Laboratory, 85 Avenue Victor Hugo, 92500 Rueil-Malmaison, France
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 16,   Citation Count: 3
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/174675.174434
What is a DOI?

ABSTRACT

Formal calculi of record structures have recently been a focus of active research. However, scarcely anyone has studied formally the dual notion—i.e., argument-passing to functions by keywords, and its harmonization with currying. We have. Recently, we introduced the label-selective &lgr;-calculus, a conservative extension of &lgr;-calculus that uses a labeling of abstractions and applications to perform unordered currying. In other words, it enables some form of commutation between arguments. This improves program legibility, thanks to the presence of labels, and efficiency, thanks to argument commuting. In this paper, we propose a simply typed version of the calculus, then extend it to one with ML-like polymorphic types. For the latter calculus, we establish the existence of principal types and we give an algorithm to compute them. Thanks to the fact that label-selective &lgr;-calculus is a conservative extension of &lgr;-calculus by adding numeric labels to stand for argument positions, its polymorphic typing provides us with a keyword argument-passing extension of ML obviating the need of records. In this context, conventional ML syntax can be seen as a restriction of the more general keyword-oriented syntax limited to using only implicit positions instead of keywords.


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
Hassan Ait-Kaci and Jacques Gardgue. Label-selective )~- calculus. PRL Research report 31, Digital Equipment Corporation, Paris Research Laboratory (May 1993).
 
3
 
4
Hassan Ait-Kaci and Andreas Podelski. Towards a meaning of LIFE. Journal of Logic Programming, 16(3-4):195-234 (July-August 1993).
 
5
Kim Bruce, Roberto Di Cosmo, and Giuseppe Longo. Provable isomorphisms of types. Technical Report LIENS-90-14, LIENS (July 1990).
 
6
7
8
 
9
N.G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, lndag. Math., 34:381-392 (1972).
 
10
Pierre Weis et al. The CAML Reference Manual, version 2.6.1. Projet Formel, INRIA-ENS (1990).
 
11
Jean Gallier and Wayne Snyder. Designing unification procedures using transformations: a survey. In Y. N. Moschovakis, editor, Logic from Computer Science, pages 153-215. Springer- Verlag (1989).
 
12
Jacques Gardgue. Label-selective A-calculus. Rapport de D.E.A., Universit6 Paris VII (1992).
13
14
 
15
Hertry Ledgard. ADA : An Introduction, Ada Reference Manual (July 1980). Springer-Verlag (1981).
 
16
Robin Milner. The polyadic r-calculus: A tutorial. LFCS Report ECS-LFCS-91-180, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh (October 1991).
17
18
19
20
 
21
 
22
Mitchell Wand. Complete type inference for simple objects. In Proceedings of IEEE Symposium on Logic in Computer Science (1988).


Collaborative Colleagues:
Jacques Garrigue: colleagues
Hassan Aït-Kaci: colleagues