Advertisement

Call-by-Value Is Dual to Call-by-Name – Reloaded

  • Philip Wadler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3467)

Abstract

We consider the relation of the dual calculus of Wadler(2003) to the λμ-calculus of Parigot (1992). We give translations from the λμ-calculus into the dual calculus and back again. The translations form an equational correspondence as defined by Sabry and Felleisen (1993). In particular, translating from λμ to dual and then ‘reloading’ from dual back into λμ yields a term equal to the original term. Composing the translations with duality on the dual calculus yields an involutive notion of duality on the λμ-calculus. A previous notion of duality on the λμ-calculus has been suggested by Selinger (2001), but it is not involutive.

Note: This paper uses color to clarify the relation of types and terms, and of source and target calculi. If the URL below is not in blue please download the color version from
$$ \texttt{http://homepages.inf.ed.ac.uk/wadler/} $$
or google ‘wadler dual reloaded’.

Keywords

Statement Context Reduction Rule Critical Pair Natural Deduction Dual Statement 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ariola, Z., Herbelin, H.: Minimal classical logic and control operators. In: 30’th International Colloquium on Automata, Languages and Programming, Eindhoven, The Netherlands (2003)Google Scholar
  2. 2.
    Balat, V., Cosmo, R.D., Fiore, M.: Extensional normalisation and type-directed partial evaluation for typed lambda-calculus with sums. Principles of Programming Languages (2004)Google Scholar
  3. 3.
    Barbanera, F., Berardi, S.: A symmetric lambda calculus for classical program extraction. Information and Computation 125(2), 103–117 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Bernays, P.: Review of “Some Properties of Conversion” by Alonzo Church and J. B. Rosser. Journal of Symbolic Logic 1, 74–75 (1936)Google Scholar
  5. 5.
    Church, A.: A set of postulates for the foundation of logic. Annals of Mathematics II.33, 346–366 (1932)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5, 56–68 (1940)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Crolard, T.: A formulae-as-types interpretation of Subtractive Logic. Journal of Logic and Computation 14(4), 529–570 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Curien, P.-L., Herbelin, H.: The duality of computation. In: 5’th International Conference on Functional Programming, September 2000, pp. 233–243. ACM, New York (2000)Google Scholar
  9. 9.
    Danos, V., Joinet, J.-B., Schellinx, H.: LKQ and LKT: Sequent calculi for second order logic based upon linear decomposition of classical implication. In: Girard, J.-Y., Lafont, Y., Regnier, L. (eds.) Advances in Linear Logic. London Mathematical Society Lecture Note Series, vol. 222, pp. 211–224. Cambridge University Press, Cambridge (1995)CrossRefGoogle Scholar
  10. 10.
    Filinski, A.: Declarative continuations and categorical duality. Master’s thesis, University of Copenhagen, Copenhagen, Denmark, August 1989 (DIKU Report 89/11) (1989)Google Scholar
  11. 11.
    Fujita, K.: A Sound and Complete CPS-Translation for λμ-Calculus. In: Hofmann, M.O. (ed.) TLCA 2003. LNCS, vol. 2701, pp. 120–134. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Gentzen, G.: Investigations into Logical Deduction. Mathematische Zeitschrift 39, 176–210 (1935) Reprinted in Szabo, M. E. (eds), The Collected Papers of Gerhard Gentzen, North-Holland (1969)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Griffin, T.: A formulae-as-types notion of control. In: 17’th Symposium on Principles of Programming Languages, San Francisco, CA, January 1990, ACM, New York (1990)Google Scholar
  14. 14.
    Hofmann, M., Streicher, T.: Continuation models are universal for λμ- calculus. In: Proceedings of the Twelfth Annual IEEE Symposium on Logic in Computer Science, pp. 387–397 (1997)Google Scholar
  15. 15.
    Melton, A., Schröder, B.S.W., Strecker, G.E.: Lagois connections, a counterpart to Galois connections. Theoretical Computer Science 136(1), 79–107 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Moggi, E.: Computational lambda-calculus and monads. Technical Report ECS-LFCS-88-66, Edinburgh University, Department of Computer Science (1988)Google Scholar
  17. 17.
    Ong, C.-H.L.: A semantic view of classical proofs: Type-theoretic, categorical, and denotational characterizations. In: Proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science, pp. 230–241 (1996)Google Scholar
  18. 18.
    Ong, C.-H.L., Stewart, C.A.: A Curry-Howard foundation for functional computation with control. In: Proceedings of the Symposium on Principles of Programming Languages, pp. 215–227 (1997)Google Scholar
  19. 19.
    Parigot, M.: λμ-calculus: an algorithmic interpretation of classical natural deduction. In: Voronkov, A. (ed.) LPAR 1992. LNCS, vol. 624, pp. 190–201. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  20. 20.
    Plotkin, G.D.: Call-by-name, call-by-value and the λ-calculus. Theoretical Computer Science 1, 125–159 (1975)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Pym, D., Ritter, E.: On the Semantics of Classical Disjunction. Journal of Pure and Applied Algebra 159, 315–338 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Sabry, A., Felleisen, M.: Reasoning about programs in continuation-passing style. Lisp and Symbolic Computation 6(3/4), 289–360 (1993)CrossRefGoogle Scholar
  23. 23.
    Sabry, A., Wadler, P.: A reflection on call-by-value. ACM Transactions on Programming Languages and Systems 19(6), 916–941 (1997)CrossRefGoogle Scholar
  24. 24.
    Selinger, P.: Control categories and duality: an axiomatic approach to the semantics of functional control. In: Talk presented at Mathematical Foundations of Programming Semantics, London (May 1998)Google Scholar
  25. 25.
    Selinger, P.: Control categories and duality: on the categorical semantics of the lambda-mu calculus. Mathematical Structures in Computer Science 11, 207–260 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Streicher, T., Reuss, B.: Classical logic, continuation semantics and abstract machines. Journal of Functional Programming 8(6), 543–572 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Wadler, P.: Call-by-name is dual to call-by-value. In: International Conference on Functional Programming, Uppsala, Sweden (August 25-29, 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Philip Wadler
    • 1
  1. 1.Edinburgh University 

Personalised recommendations