Limits of ML-definability
It is well-known that the type system of ML is overly restrictive in its handling of recursion: certain intuitively sound terms do not pass ML's type-check. We formalise this intuition and show that the restriction is semantical: there are computable (semantical) functions which cannot be expressed by well-typed (syntactical) terms.
Keywordsdefinability polymorphism recursion ML completeness
Unable to display preview. Download preview PDF.
- 1.F. Cardone and M. Coppo. Two extensions of Curry's type inference system. In P. Odifreddi, editor, Logic and Computer Science, pages 19–76. Academic Press, 1990.Google Scholar
- 2.N. G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation. Indagationes Mathematicae, 34:381–392, 1972.Google Scholar
- 3.Nachum Dershowitz and Jean-Pierre Jouannaud. Rewrite systems. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 6, pages 244–320. Elsevier, 1990.Google Scholar
- 4.Fritz Henglein. Type inference with polymorphic recursion. ACM Transactions on Programming Languages and Systems, 15(2):253–289, 1993.Google Scholar
- 5.Stefan Kahrs. About the completeness of type systems. In Proceedings ESSLLI Workshop on Observational Equivalence and Logical Equivalence, 1996. (to appear).Google Scholar
- 6.Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990.Google Scholar
- 7.Mads Tofte. Operational Semantics and Polymorphic Type Inference. PhD thesis, University of Edinburgh, 1988. CST-52-88.Google Scholar