Computing with recursive types

A study is made of the complete adequacy for a lambda -calculus with simple recursive types. The set of types is built using the standard domain-theoretic constructors, namely, function space, sum, cartesian and strict product, and lifting. The recursive types allow the author to solve arbitrary systems of mutually recursive domain equations. Thus, he can define in this calculus types of integers, Booleans, lists and streams over these, and so on. The author can also define numerals, Boolean constants, simple arithmetic versions, of pure untyped terms. A precise description is given of the author's calculus, as well as some examples illustrating its expressiveness. A complete adequacy result for the lattice semantics is presented. The problem of designing a completely adequate evaluator for the CPO semantics is also examined.<<ETX>>

[1]  C.-H. Luke Ong,et al.  Fully abstract models of the lazy lambda calculus , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[2]  Peter D. Mosses,et al.  On Proving Limiting Completeness , 1987, SIAM J. Comput..

[3]  Ketan Mulmuley,et al.  Fully Abstract Submodels of Typed Lambda Calculi , 1986, J. Comput. Syst. Sci..

[4]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[5]  V. Yu. Sazonov Expressibility of functions in D. Scott's LCF language , 1976 .

[6]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[7]  Christopher P. Wadsworth Approximate Reduction and Lambda Calculus Models , 1978, SIAM J. Comput..

[8]  G. Plotkin Tω as a Universal Domain , 1978 .

[9]  Christopher P. Wadsworth,et al.  The Relation Between Computational and Denotational Properties for Scott's Dinfty-Models of the Lambda-Calculus , 1976, SIAM J. Comput..

[10]  S. Abramsky The lazy lambda calculus , 1990 .

[11]  Joseph E. Stoy,et al.  The Congruence of two Programming Language Definitions , 1981, Theor. Comput. Sci..

[12]  Jean-Yves Girard,et al.  The System F of Variable Types, Fifteen Years Later , 1986, Theor. Comput. Sci..

[13]  C.-H. Luke Ong The Lazy Lambda Calculus : an investigation into the foundations of functional programming , 1988 .

[14]  Albert R. Meyer Semantical Paradigms: Notes for an Invited Lecture, with Two Appendices by Stavros S. Cosmadakis , 1988, LICS 1988.

[15]  Gordon D. Plotkin,et al.  A Powerdomain Construction , 1976, SIAM J. Comput..

[16]  Dana S. Scott,et al.  Some Domain Theory and Denotational Semantics in Coq , 2009, TPHOLs.

[17]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[18]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..