Hostname: page-component-77f85d65b8-pkds5 Total loading time: 0 Render date: 2026-03-28T16:17:23.271Z Has data issue: false hasContentIssue false

Deciding type isomorphisms in a type-assignment framework

Published online by Cambridge University Press:  07 November 2008

Roberto Di Cosmo
Affiliation:
LIENS (CNRS) - DMI, Ecole Normale Supérieure, 45 Rue d'Ulm, 75005 Paris, France and Dipartimento di Informatica, Corso Italia 40, 56100 Pisa, Italy (e-mail: dicosmo@dmi.ens.fr)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

This paper provides a formal treatment of isomorphic types for languages equipped with an ML style polymorphic type inference mechanism. The results obtained make less justified the commonplace feeling that (the core of) ML is a subset of second order λ-calculus: we can provide an isomorphism of types that holds in the core ML language, but not in second order λ-calculus. This new isomorphism allows to provide a complete (and decidable) axiomatization of all the types isomorphic in ML style languages, a relevant issue for the type as specifications paradigm in library searches. This work is a very extended version of Di Cosmo (1992): we provide both a thorough theoretical treatment of the topic and describe a practical implementation of a library search system so that the paper can be used as a reference both by those interested in the formal theory of ML style languages, and by those simply concerned with implementation issues. The new isomorphism can also be used to extend the usual ML type-inference algorithm, as suggested by Di Cosmo (1992). Building on that proposal, we introduce a better type-inference algorithm that behaves well in the presence of non-functional primitives like references and exceptions. The algorithm described here has been implemented easily as a variation to the Caml-Light 0.4 system.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 1993
Submit a response

Discussions

No Discussions have been published for this article.