Abstract
We give two categorical programming languages with variable arrows and associated abstraction/reduction mechanisms, which extend the possibility of categorical programming [Hag87, CF92] in practice. These languages are complementary to each other — one of them provides a first-order programming style whereas the other does higher-order — and are “children” of the simply typed lambda calculus in the sense that we can decompose typed lambda calculus into them and, conversely, the combination of them is equivalent to typed lambda calculus. This decomposition is a consequence of a semantic analysis on typed lambda calculus due to C. Hermida and B. Jacobs [HJ94].
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi, L. Cardelli, P.-L. Curien and J.-J. Levy, Explicit substitutions. Journal of Functional Programming 1 (4), pages 375–416, 1991.
J. R. B. Cockett and T. Fukushima, About Charity. Technical Report 92/480/18, University of Calgary, 1992.
J. R. B. Cockett and D. Spencer, Strong categorical datatypes I. In Canadian Mathematical Society Proceedings, Category Theory 1991, Montreal, 1991.
G. Cousineau, P.-L. Curien and M. Mauny, The categorical abstract machine. Science of Computer Programming 8, pages 173–202, 1987.
P.-L. Curien, α-conversion,conditions on variables and categorical logic. Studia Logica XLVIII (3), pages 55–91, 1990.
M. Felleisen, D. P. Friedman, E. Kohlbecker and B. Duba, A syntactic theory of sequential control. Theoretical Computer Science 52, pages 205–237, 1987.
J. Goguen, Higher order functions considered unnecessary for higher order programming. In D. Turner (ed.): Research Topics in Functional Programming, University of Texas at Austin Year of Programming Series, pages 309–352, 1990.
T. Hagino, A categorical programming language. PhD thesis, University of Edinburgh, 1987.
M. Hasegawa, Contextual calculus, cartesian category and categorical data types. Master's thesis, RIMS, Kyoto University, 1994.
C. Hermida and B. Jacobs, Fibrations with indeterminates: contextual and functional completeness for polymorphic lambda calculi. 1994. To appear in Mathematical Structures in Computer Science.
M. Hofmann, Sound and complete axiomatisations of call-by-value control. Manuscript, LFCS, University of Edinburgh, 1994.
B. Jacobs, Simply typed and untyped Lambda Calculus revisited. In M. P. Fourman et al. (eds.): Applications of Categories in Computer Science, London Mathematical Society Lecture Note Series 177, pages 119–142, 1992.
B. Jacobs, Parameters and parametrization in specification, using distributive categories. 1993. To appear in Fundamenta Infomaticae.
Y. Lafont, Linear abstract machine. Theoretical Computer Science 59, pages 157–180, 1988.
J. Lambek, Functional completeness of cartesian categories. Annals of Mathematical Logic 6, pages 259–292, 1974.
J. Lambek and P. J. Scott, Introduction to higher order categorical logic. Cambridge University Press, 1986.
W. Phoa, An introduction to fibrations, topos theory, the effective topos and modest sets. Technical Report ECS-LFCS-92-208, University of Edinburgh, 1992.
J. Rees and W. Clinger, The revised report on the algorithmic language Scheme. SIGPLAN Notices 21(12), pages 37–79, 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hasegawa, M. (1995). Decomposing typed lambda calculus into a couple of categorical programming languages. In: Pitt, D., Rydeheard, D.E., Johnstone, P. (eds) Category Theory and Computer Science. CTCS 1995. Lecture Notes in Computer Science, vol 953. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60164-3_28
Download citation
DOI: https://doi.org/10.1007/3-540-60164-3_28
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60164-7
Online ISBN: 978-3-540-44661-3
eBook Packages: Springer Book Archive