Axioms for Recursion in Call-by-Value

(Extended Abstract)
  • Masahito Hasegawa
  • Yoshihiko Kakutani
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2030)

Abstract

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 controls, provided that we define the uniformity principle on such an iterator via a notion of effect-freeness (centrality). We also investigate how these two results are related in terms of the underlying categorical models.

References

  1. 1.
    Bloom, S. and Esik, Z. (1993) Iteration Theories. EATCS Monographs on Theoretical Computer Science, Springer-Verlag.Google Scholar
  2. 2.
    Crole, R.L. and Pitts, A.M. (1992) New foundations for fixpoint computations: FIX-hyperdoctrines and the FIX-logic. Inform. and Comput. 98(2), 171–210.MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Filinski, A. (1989) Declarative continuations: an investigation of duality in programming language semantics. In Proc. Category Theory and Computer Science, Springer Lecture Notes in Comput. Sci. 389, pp. 224–249.CrossRefGoogle Scholar
  4. 4.
    Filinski, A.(1994) Recursion from iteration. Lisp and Symbolic Comput. 7(1),11–38.CrossRefGoogle Scholar
  5. 5.
    Filinski, A. (1996) Controlling Effects. PhD thesis, Carnegie Mellon University, CMU-CS-96-119.Google Scholar
  6. 6.
    Flanagan, C., Sabry, A., Duba, B.F. and Felleisen, M. (1993) The essence of compiling with continuations. In Proc. ACM Conference on Programming Languages Design and Implementation, pp. 237–247.Google Scholar
  7. 7.
    Fuhrmann, C. (2000) The Structure of Call-by-Value. PhD thesis, University of Edinburgh.Google Scholar
  8. 8.
    Harper, R., Duba, B.F. and MacQueen, D. (1993) Typing first-class continuations in ML. J. Funct. Programming 3(4), 465–484.Google Scholar
  9. 9.
    Hasegawa, M. (1997) Models of Sharing Graphs: A Categorical Semantics of let and letrec. PhD thesis, University of Edinburgh, ECS-LFCS-97-360; also in Distinguished Dissertation Series, Springer-Verlag, 1999.Google Scholar
  10. 10.
    Hofmann, M. (1995) Sound and complete axiomatisations of call-by-value control operators. Math. Structures Comput. Sci. 5(4), 461–482.MATHMathSciNetCrossRefGoogle Scholar
  11. 11.
    Kakutani, Y. (2001) Duality between Call-by-Name Recursion and Call-by-Value Iteration. MSc thesis, Kyoto University.Google Scholar
  12. 12.
    Moggi, E. (1989) Computational lambda-calculus and monads. In Proc. 4th Annual Symposium on Logic in Computer Science, pp. 14–23.Google Scholar
  13. 13.
    Parigot, M. (1992) λμ-calculus: an algorithmic interpretation of classical natural deduction. In Proc. International Conference on Logic Programming and Automated Reasoning, Springer Lecture Notes in Comput. Sci. 624, pp. 190–201.CrossRefGoogle Scholar
  14. 14.
    Plotkin, G.D. (1975) Call-by-name, call-by-value, and the λ-calculus. Theoret. Comput. Sci. 1(1), 125–159.MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Power, A.J. and Robinson, E.P. (1997) Premonoidal categories and notions of computation. Math. Structures Comput. Sci. 7(5), 453–468.MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Sabry, A. and Felleisen, M. (1992) Reasoning about programs in continuation-passing style. In Proc. ACM Conference on Lisp and Functional Programming, pp. 288–298; extended version in Lisp and Symbolic Comput. 6(3/4), 289-360, 1993.Google Scholar
  17. 17.
    Selinger, P. (2001) Control categories and duality: on the categorical semantics of the lambda-mu calculus. To appear in Math. Structures Comput. Sci. Google Scholar
  18. 18.
    Simpson, A.K. and Plotkin, G.D. (2000) Complete axioms for categorical fixedpoint operators. In Proc. 15th Annual Symposium on Logic in Computer Science.Google Scholar
  19. 19.
    Thielecke, H. (1997) Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, ECS-LFCS-97-376.Google Scholar
  20. 20.
    Thielecke, H. (1999) Using a continuation twice and its implications for the expressive power of call/cc. Higher-Order and Symbolic Comput. 12(1), 47–73.MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

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

Personalised recommendations