| The typed polymorphic label-selective λ-calculus |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 16, Citation Count: 3
|
|
|
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
|
Martin Odersky , Dan Rabin , Paul Hudak, Call by name, assignment, and the lambda calculus, Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.43-56, March 1993, Charleston, South Carolina, United States
[doi> 10.1145/158511.158521]
|
 |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
|
| |
22
|
Mitchell Wand. Complete type inference for simple objects. In Proceedings of IEEE Symposium on Logic in Computer Science (1988).
|
CITED BY 3
|
|
Jeffrey R. Lewis , John Launchbury , Erik Meijer , Mark B. Shields, Implicit parameters: dynamic scoping with static types, Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.108-118, January 19-21, 2000, Boston, MA, USA
|
|
|
|
|
|
|
|