Hostname: page-component-76fb5796d-5g6vh Total loading time: 0 Render date: 2024-04-27T23:38:24.222Z Has data issue: false hasContentIssue false

Categorical data types in parametric polymorphism

Published online by Cambridge University Press:  04 March 2009

Ryu Hasegawa
Affiliation:
Liens, 45 rue d'Ulm, 75230 Paris Cedex 05 RIMS, Kyoto University, Sakyo-ku, Kyoto, 606 Japan

Abstract

The categorical data types in models of second order lambda calculus are studied. We prove that Reynolds parametricity is a sufficient and necessary condition for the categorical data types to fulfill the universal properties.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1994

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Bainbridge, E. S., Freyd, P. J., Scedrov, A. and Scott, P. J. (1990) Functorial Polymorphism. Theoret. Comput. Sci. 70 3564 (Corrigendum, 71 (1990) 431).CrossRefGoogle Scholar
Böhm, C. and Berarducci, A. (1985) Automatic synthesis of typed A-programs on term algebras. Theoret. Comput. Sci. 39 135154.CrossRefGoogle Scholar
Breazu-Tannen, V. and Coquand, T. (1988) Extensional models for polymorphism. Theoret. Comput. Sci. 59 85114.CrossRefGoogle Scholar
Bruce, K. B., Meyer, A. R. and Mitchell, J. C. (1990) The semantics of second-order lambda calculus. Inform. Comput. 85 76134.CrossRefGoogle Scholar
Coquand, T., Gunter, C. and Winskell, G. (1989) Domain theoretic models of polymorphism. Inf. and Comput. 81 123167.CrossRefGoogle Scholar
Fortune, S., Leivant, D. and O'Donnell, M. (1983) The expressiveness of simple and second-order type structures. J. of ACM 30 151185.CrossRefGoogle Scholar
Fourman, M. P. and Scott, D. S. (1979) Sheaves and logic. In: Applications of sheaves. Springer-Verlag Lecture Notes in Math. 753 302401.CrossRefGoogle Scholar
Freyd, P. (1989a) Polynat in per. In: Categories in Computer Science and Logic, Boulder, 1987. Contemporary Mathematics 92 6768.CrossRefGoogle Scholar
Freyd, P. (1989b) Structural polymorphism. Preliminary version, University of Pennsylvania.Google Scholar
Girard, J.-Y. (1971) Une extension de l'interprétation de Gödel à l'analyse et son application à l'élimination des coupures dans l'analyse et la théorie des types. In: Fenstad, J. F. (ed.) Proc. 2nd Scandinavian Logic Symp., North-Holland, Amsterdam 6392.CrossRefGoogle Scholar
Girard, J.-Y. (1972) Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur, Thèse d'Etat, Université Paris VII.Google Scholar
Girard, J.-Y. (1986) The system F of variable types, fifteen years later. Theoret. Comput. Sci. 45 159192.CrossRefGoogle Scholar
Girard, J.-Y., Taylor, P. and Lafont, Y. (1989) Proofs and Types, Cambridge University Press, Cambridge.Google Scholar
Hasegawa, R. (1989) Parametric polymorphism and internal representations of recursive type definitions, Masters Thesis, RIMS, Kyoto University.Google Scholar
Hyland, J. M. E. (1988) A small complete category. Ann. of Pure and Appl. Logic 40 135165.CrossRefGoogle Scholar
Lambek, J. (1968) A fixpoint theorem for complete categories. Math. Zeitschr. 103 151161.CrossRefGoogle Scholar
Lambek, J. (1989) Fixpoints revisited. In: Meyer, A. R. and Taitslin, M. A. (eds.) Logic at Botik '89, Springer-Verlag Lecture Notes in Comput. Sci. 363 200207.CrossRefGoogle Scholar
Lehmann, D. J. and Smyth, M. B. (1981) Algebraic specification of data types: a synthetic approach. Math. Systems Theory 14 97139.CrossRefGoogle Scholar
Longo, G. and Moggi, E. (1987) Constructive natural deduction and its ‘modest’ interpretation, In: Meseguer, J.et al. (eds.) Semantics of Natural and Computer Languages, Stanford (M.I.T. Press, to appear).Google Scholar
Luo, Zhaohui. (1988) A higher-order calculus and theory abstraction, preprint ECS-LFCS-88–57, LFCS, University of Edinburgh.Google Scholar
Mac Lane, S. (1971) Categories for the working mathematician, Springer, Berlin.CrossRefGoogle Scholar
Meyer, A. R., Mitchell, J. C., Moggi, E. and Statman, R. (1987) Empty types in polymorphic lambda calculus (preliminary report). In: Fourteenth Annual Symp. on Principles of Programming Languages, Munich, West Germany, 1987, ACM 253262.Google Scholar
Mitchell, J. C. (1986) A type-inference approach to reduction properties and semantics of polymorphic expressions (summary). In: Proc. of the 1986 Conf. on LISP and Functional Programming, Cambridge, Massachusetts, ACM, 308319.Google Scholar
Pfenning, F. and Paulin-Mohring, C. (1990) Inductively defined types in the calculus of constructions. In: Main, M., Melton, A., Mislove, M. and Schmidt, D. (eds.) Mathematical Foundations of Programming Semantics. Springer-Verlag Lecture Notes in Comput. Sci. 442 209228.CrossRefGoogle Scholar
Pitts, A. M. (1987) Polymorphism is set theoretic, constructively. In: Pitt, D. H., Poigné, A. and Rydeheard, D. E. (eds.) Category Theory and Computer Science. Springer-Verlag Lecture Notes in Comput. Sci. 283 1239.CrossRefGoogle Scholar
Prawitz, D. (1965) Natural Deduction, Almqvist & Wiksell, Stockholm.Google Scholar
Reynolds, J. C. (1983) Types, abstraction, and parametric polymorphism. In: Mason, R. E. A. (ed.) Information Processing 83 513523.Google Scholar
Reynolds, J. C. (1984) Polymorphism is not set theoretic. In: Kahn, G., MacQueen, D. B. and Plotkin, G. (eds.) Semantics of Data Types. Springer-Verlag Lecture Notes in Comput. Sci. 173 145156.CrossRefGoogle Scholar
Reynolds, J. C. and Plotkin, G. D. (1990) On functor expressible in the polymorphic lambda calculus. In: Huet, G. (ed.) Logical Foundations of Functional Programming, Addison Wesley 127152.Google Scholar
Seely, R. A. G. (1987) Categorical semantics for higher order polymorphic lambda calculus. J. Symb. Logic 52 969989.CrossRefGoogle Scholar
Smyth, M. B. and Plotkin, G. D. (1982) The category-theoretic solution of recursive domain equations. SIAM J. of Comput. 11 761783.CrossRefGoogle Scholar
Soare, R. I. (1987) Recursively enumerable sets and degrees, Springer, Berlin.CrossRefGoogle Scholar
Statman, R. (1981) Number theoretic functions computable by polymorphic programs (extended abstract). In: IEEE 22nd Annual Symp. on Foundations of Computer Science, Los Angeles 279282.Google Scholar
Tarski, A. (1955) A lattice-theoretic fixpoint theorem and its applications. Pacific J. of Math. 5 285309.CrossRefGoogle Scholar
Wadler, P. (1989) Theorems for free! In: Fourth International Conf. Functional Programming Languages and Computer Architecture, London, ACM.Google Scholar
Wadler, P. (1990) Recursive types in second-order polymorphic lambda calculus, (draft), University of Glasgow.Google Scholar
Wraith, G. C. (1989) A note on categorical datatypes. In: Pitt, D. H., Rydeheard, D. E., Dybjer, P., Pitts, A. M. and Poigné, A. (eds.) Category Theory and Computer Science. Springer-Verlag Lecture Notes in Comput. Sci. 389 118127.Google Scholar