## An Analysis of the Core-ML Language: Expressive Power and Type Reconstruction (1994)

### Cached

### Download Links

- [wwwipd.ira.uka.de]
- [www.cs.brandeis.edu]
- [ftp.cs.brown.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. 21st Int'l Coll. Automata, Languages, and Programming |

Citations: | 5 - 3 self |

### BibTeX

@INPROCEEDINGS{Kanellakis94ananalysis,

author = {Paris Kanellakis and Gerd Hillebrand and Harry Mairson},

title = {An Analysis of the Core-ML Language: Expressive Power and Type Reconstruction},

booktitle = {In Proc. 21st Int'l Coll. Automata, Languages, and Programming},

year = {1994},

pages = {83--106},

publisher = {Springer}

}

### OpenURL

### Abstract

Core-ML is a basic subset of most functional programming languages. It consists of the simply typed (or monomorphic) -calculus, simply typed equality over atomic constants, and let as the only polymorphic construct. We present a synthesis of recent results which characterize this "toy" language's expressive power as well as its type reconstruction (or type inference) problem. More specifically: (1) Core-ML can express exactly the ELEMENTARY queries, where a program input is a database encoded as a -term and a query program is a -term whose application to the input normalizes to the output database. In addition, it is possible to express all the PTIME queries so that this normalization process is polynomial in the input size. (2) The polymorphism of let can be explained using a simple algorithmic reduction to monomorphism, and provides flexibility, without affecting expressibility. Algorithms for type reconstruction offer the additional convenience of static typing without type declarations. Given polymorphism, the price of this convenience is an increase in complexity from linear-time in the size of the program typed (without let) to completeness in exponential-time (with let).