ACM Home Page
Please provide us with feedback. Feedback
Declaration-free type checking
Full text PdfPdf (1.20 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
New Orleans, Louisiana, United States
Pages: 7 - 21  
Year of Publication: 1985
ISBN:0-89791-147-4
Authors
Prateek Mishra  University of Utah
Uday S. Reddy  University of Utah
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): 5,   Downloads (12 Months): 19,   Citation Count: 19
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/318593.318603
What is a DOI?

ABSTRACT

Conventional Milner-style polymorphic type checkers automatically infer types of functions and simple composite objects such as tuples. Types of recursive data structures (e.g. lists) have to be defined by the programmer through an abstract data type definition. In this paper, we show how abstract data types, involving type union and recursion, can be automatically inferred by a type checker. The language for describing such types is that of regular trees, a generalization of regular expressions to denote sets of tree structured terms. Inference of these types is reducible to the problem of solving simultaneous inclusion inequations over regular trees. We present algorithms to solve such inequations. Using these techniques, programs without any type definitions and type annotations for functions can be type checked.


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
 
3
4
 
5
[5] Despeyroux, T. Executable specifications of static semantaics. In Lecture Notes in Comp. Sci. Volume 173: Semantics of Data Types, Springer-Verlag, 1984, pp. 215-233.
 
6
7
 
8
[8] Keller, R. M. FEL (Function Equation Language) Programmer's Guide. AMPS Technical Memorandum 7, University of Utah, April, 1982.
9
 
10
[10] Milner, R. A theory of type polymorphism in programming. J. Computer and System Sciences 17 (1978), pp. 348-375.
11
 
12
[12] Mishra, P. Data types in applicative languages: abstraction and inference. University of Utah, 1983.
 
13
[13] Mishra, P. Towards a theory of types in Prolog. International symposium on logic programming. IEEE, 1984, pp. 289-298.
14
 
15
 
16
[16] Reddy, U. S. On the relationship between logic and functional languages. In DeGrot. D, Lindstrom, G., Eds., Functional and Logic Programming. Prentice-Hall, 1985.
 
17
[17] Reynolds R. C. Automatic Computation of Data Set Definitions. IFIP 68, 1968, pp. 456-461.
 
18
 
19
[19] Thatcher, J. W. Tree automata: an informal survey. In A. V. Aho, Ed., Currents in theory of computing, Prentice-Hall, 1973, pp. 143-172.
 
20
[20] Turner, D. A. SASL Language Manual. St. Andrews University, 1976.

CITED BY  19

Collaborative Colleagues:
Prateek Mishra: colleagues
Uday S. Reddy: colleagues