|
ABSTRACT
This extended abstract describes a way of inferring as much type information as possible about programs written in an untyped programming language. We present an algorithm that underlines the untypable parts of a program and assigns types to the rest. The algorithm is derived in a very simple manner from the well-known algorithm W of Damas & Milner [Damas and Milner 1982].
Our algorithm provides us with an easy solution to the problem of doing binding time analysis of the untyped higher order lambda calculus, and thereby of the wide range of programming languages based upon the lambda calculus. The techniques can also be used to eliminate superfluous runtime type checking in untyped functional languages, to produce better error messages from type analyzers for strongly typed languages, and to analyze feasibility of arity raising.
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.
| |
Bondorf 1990
|
|
| |
Bondorf et al. 1988
|
A. Bondorf, N.D. Jones, T. Mogensen, and P. Sestoft, Binding Time Analysis and the Taming o/Sell-Application, Draft, 18 pages, DIKU, University of Copenhagen, Denmark, August 1988.
|
 |
Damas and Milner 1982
|
|
| |
Fuh and Mishra 1989
|
|
| |
Gomard 1989
|
C. K. Gomard, Higher Order Partial Evaluation - HOPE/or the Lambda Calculus, Master's thesis, DIKU, University of Copenhagen, Denmark, September 1989.
|
| |
Jones et al. 1989
|
N.D. Jones, P. Sestoft, and H. S0ndergaard, Mix: A Self-Applicable Partial Evaluator for Experiments in Compiler Generation, Lisp and Symbolic Computation 2,1 (1989) 9-50.
|
| |
Jones et al. 1990
|
N.D. Jones, C.K. Gomard, A. Bondorf, O. Danvy, and T.~. Mogensen, A Self-Applicable Partial Evaluator for the Lambda Calculus, in 1990 International Con/erence on Computer Languages, New Orleans, Louisiana, March 1990, IEEE Computer Society, 1990. To appear.
|
 |
Kuo and Mishra 1989
|
|
| |
Mogensen 1989
|
|
| |
Nielson and Nielson 1988
|
|
 |
Robinson 1965
|
|
| |
Romanenko 1990
|
|
| |
Schmidt 1988
|
D.A. Schmidt, Static Properties of Partial Evaluation, in Partial Evaluation and Mixed Computation, edited by D. Bj0rner, A.P. Ershov, and N.D. Jones, pp. 465-483, North-Holland, 1988.
|
| |
Wadler 1990
|
P. Wadler, Linear Types Can Change the World!, in Programming Concepts and Methods iFIP TC~, 1990. (to appear).
|
 |
Wand 1986
|
|
CITED BY 19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Charles Consel , Calton Pu , Jonathan Walpole, Incremental partial evaluation: the key to high performance, modularity and portability in operating systems, Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, p.44-46, June 14-16, 1993, Copenhagen, Denmark
|
|
|
Alexander Aiken , Edward L. Wimmers , T. K. Lakshman, Soft typing with conditional types, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.163-173, January 16-19, 1994, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|