Higher-Order and Symbolic Computation

, Volume 15, Issue 2–3, pp 235–264 | Cite as

Axioms for Recursion in Call-by-Value

  • Masahito Hasegawa
  • Yoshihiko Kakutani


We propose an axiomatization of fixpoint operators in typed call-by-value programming languages, and give its justifications in two ways. First, it is shown to be sound and complete for the notion of uniform T-fixpoint operators of Simpson and Plotkin. Second, the axioms precisely account for Filinski's fixpoint operator derived from an iterator (infinite loop constructor) in the presence of first-class continuations, provided that we define the uniformity principle on such an iterator via a notion of effect-freeness (centrality). We then explain how these two results are related in terms of the underlying categorical structures.

recursion iteration call-by-value continuations categorical semantics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bloom, S. and Esik, Z. Iteration Theories, EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, 1993.Google Scholar
  2. 2.
    Crole, R.L. and Pitts, A.M. New foundations for fixpoint computations: FIX-hyperdoctrines and the FIX-logic. Inform. and Comput., 98(2) (1992) 171–210.Google Scholar
  3. 3.
    Erkök, L. and Launchbury, J. Recursive monadic bindings. In Proc. International Conference on Functional Programming, 2000, pp. 174–185.Google Scholar
  4. 4.
    Filinski, A. Declarative continuations: An investigation of duality in programming language semantics. In Proc. Category Theory and Computer Science. Springer Lecture Notes in Comput. Sci., Vol. 389, 1989, pp. 224–249.Google Scholar
  5. 5.
    Filinski, A. Recursion from iteration. Lisp and Symbolic Comput., 7(1) (1994) 11–38.Google Scholar
  6. 6.
    Filinski, A. Controlling effects. Ph. D. Thesis, Carnegie Mellon University, CMU-CS-96-119, 1996.Google Scholar
  7. 7.
    Fiore, M. Axiomatic domain theory in categories of partical maps. Ph.D. Thesis, University of Edinburgh, ECS-LFCS-94-307, 1994; also in Distinguished Dissertation Series, Cambridge University Press, 1996.Google Scholar
  8. 8.
    Flanagan, C., Sabry, A., Duba, B.F., and Felleisen, M. The essence of compiling with continuations. In Proc. ACM Conference on Programming Languages Design and Implementation, 1993, pp. 237–247.Google Scholar
  9. 9.
    Friedman, D.P. and Sabry, A. Recursion is a computational effect. Technical Report No. 546, Computer Science Department, Indiana University, 2000.Google Scholar
  10. 10.
    Führmann, C. The structure of call-by-value. Ph.D. Thesis, University of Edinburgh, 2000.Google Scholar
  11. 11.
    Harper, R., Duba, B.F., and MacQueen, D. Typing first-class continuations in ML. J. Funct. Programming, 3(4) (1993) 465–484.Google Scholar
  12. 12.
    Hasegawa, M. Models of sharing graphs: A categorical semantics of let and letrec. Ph.D. Thesis, University of Edinburgh, ECS-LFCS-97-360, 1997; also in Distinguished Dissertation Series, Springer-Verlag, 1999.Google Scholar
  13. 13.
    Hofmann, M. Sound and complete axiomatisations of call-by-value control operators. Math. Structures Comput. Sci., 5(4) (1995) 461–482.Google Scholar
  14. 14.
    Jeffrey, A. Premonoidal categories and a graphical view of programs. Unpublished, 1998.Google Scholar
  15. 15.
    Kakutani, Y. Duality between call-by-name recursion and call-by-value iteration. M.Sc. Thesis, Kyoto University, 2001.Google Scholar
  16. 16.
    Lambek, J. and Scott, P. Introduction to Higher Order Categorical Logic. Cambridge University Press, 1986.Google Scholar
  17. 17.
    Milner, R., Tofte, M., Harper, R., and MacQueen, D. The Definition of Standard ML (Revised). MIT Press, Cambridge, MA, 1997.Google Scholar
  18. 18.
    Moggi, E. Computational lambda-calculus and monads. In Proc. 4th Annual Symposium on Logic in Computer Science, pp. 14–23, 1989; a different version available as Technical Report ECS-LFCS-88-86, University of Edinburgh, 1988.Google Scholar
  19. 19.
    Moggi, E. Notions of computation and monads. Inform. and Comput., 93(1) (1991) 55–92.Google Scholar
  20. 20.
    Parigot, M. -calculus: An algorithmic interpretation of classical natural deduction. In Proc. International Conference on Logic Programming and Automated Reasoning. Springer Lecture Notes in Computer Science, Vol. 624, 1992, pp. 190–201.Google Scholar
  21. 21.
    Plotkin, G.D. Call-by-name, call-by-value, and the ?-calculus. Theoret. Comput. Sci., 1(1) (1975) 125–159.Google Scholar
  22. 22.
    Power, A.J. and Robinson, E.P. Premonoidal categories and notions of computation. Math. Structures Comput. Sci., 7(5) (1997) 453–468.Google Scholar
  23. 23.
    Sabry, A. and Felleisen, M. Reasoning about programs in continuation-passing style. In Proc. ACMConference on Lisp and Functional Programming, 1992, pp. 288–298; extended version also in Lisp and Symbolic Comput., 6(3/4) (1993) 289-360.Google Scholar
  24. 24.
    Schweimeier, R. and Jeffrey, A. Compilation of higher-order languages in graphical form. In Proc. 15th Conference on Mathematical Foundations of Programming Semantics. Electron. Notes Theor. Comput. Sci., 20 (1999).Google Scholar
  25. 25.
    Selinger, P. Control categories and duality: On the categorical semantics of the lambda-mu calculus. Math. Structures Comput. Sci., 11(2) (2001) 207–260.Google Scholar
  26. 26.
    Simpson, A.K. Recursive types in Kleisli categories. Unpublished, 1992.Google Scholar
  27. 27.
    Simpson, A.K. and Plotkin, G.D. Complete axioms for categorical fixed-point operators. In Proc. 15th Annual Symposium on Logic in Computer Science, 2000, pp. 30–41.Google Scholar
  28. 28.
    Thielecke, H. Categorical structure of continuation passing style. Ph.D. Thesis, University of Edinburgh, ECS-LFCS-97-376, 1997.Google Scholar
  29. 29.
    Thielecke, H. Using a continuation twice and its implications for the expressive power of call/cc. Higher-Order and Symbolic Comput., 12(1) (1999) 47–73.Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Masahito Hasegawa
    • 1
  • Yoshihiko Kakutani
    • 1
  1. 1.Research Institute for Mathematical SciencesKyoto UniversityKyotoJapan

Personalised recommendations