Polymorphic call-by-value calculus based on classical proofs

Extended abstract
  • Ken-etsu Fujita
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1476)


We introduce a polymorphic call-by-value calculus, λ exc v , based on 2nd order classical logic. The call-by-value computation rules are defined based on proof reductions, in which classical proof reductions are regarded as a logical permutative reduction in the sense of Prawitz and a dual permutative reduction. It is shown that the CPS-translation from the core λ exc v to the intuitionistic fragment, i.e., the Damas-Milner type system is sound. We discuss that the use of the dual permutative reduction is, in general, uncorrected in polymorphic calculi. We also show the Church-Rosser property of λ exc v , and the soundness and completeness of the type inference algorithm W. From the subject reduction property, it is obtained that a program whose type is inferred by W never leads to a type-error under the rewriting semantics. Finally, we give a brief comparison with ML plus callcc and some of the existing call-by-value styles.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Y.Andou: A Normalization-Procedure for the First Order Classical Natural Deduction with Full Logical Symbols, Tsukuba Journal of Mathematics, Vol.19, No.1, pp. 153–162, 1995.MathSciNetzbMATHGoogle Scholar
  2. 2.
    H.P.Barendregt: The Lambda Calculus, Its Syntax and Semantics (revised edition), North-Holland, 1984.Google Scholar
  3. 3.
    H.P.Barendregt: Lambda Calculi with Types, Handbook of Logic in Computer Science Vol.II, Oxford University Press, pp.1–189, 1992.Google Scholar
  4. 4.
    F.Barbanera, S.Berardi: Extracting Constructive Context from Classical Logic via Control-like Reductions, LNCS 664, pp.45–59, 1993.zbMATHMathSciNetGoogle Scholar
  5. 5.
    L.Damas, R.Milner: Principal type-schemes for functional programs, Proc. 9th Annual ACM Symposium on POPL, pp.207–212, 1982.Google Scholar
  6. 6. Groote: A Simple Calculus of Exception Handling, LNCS 902, pp.201–215, 1995.zbMATHGoogle Scholar
  7. 7.
    M.Felleisen, D.P.Friedman: The Seasoned Schemer, The MIT Press, 1996.Google Scholar
  8. 8.
    M.Felleisen, D.P.Friedman, E.Kohlbecker, B.Duba: Reasoning with Continuations, Proc. Annual IEEE Symposium on LICS, pp.131–141, 1986.Google Scholar
  9. 9.
    M.Felleisen, R.Hieb: The Revised Report on the Syntactic Theories of Sequential Control and State, Theor.Comput.Sci. 103, pp.131–141, 1992.MathSciNetCrossRefGoogle Scholar
  10. 10.
    K.Fujita: Calculus of Classical Proofs I, LNCS 1345, pp.321–335, 1997.zbMATHGoogle Scholar
  11. 11.
    T.G.Griffin: A Formulae-as-Types Notion of Control, Proc. 17th Annual ACM Symposium on POPL, pp.47–58, 1990.Google Scholar
  12. 12.
    R.Harper, B.F.Duba, D.MacQueen: Typing First-Class Continuations in ML, J. Functional Programming, 3 (4) pp.465–484, 1993.CrossRefGoogle Scholar
  13. 13.
    R.Harper, M.Lillibridge: Polymorphic type assignment and CPS conversion, LISP and Symbolic Computation 6, pp.361–380, 1993.CrossRefGoogle Scholar
  14. 14.
    W.Howard: The Formulae-as-Types Notion of Constructions, Academic Press, pp.479–490, 1980.Google Scholar
  15. 15.
    S.Kobayashi: Monads as modality, Theor.Comput.Sci. 175, pp.29–74, 1997.zbMATHCrossRefGoogle Scholar
  16. 16.
    R.Milner: A Theory of Type Polymorphism in Programming, J. Comput.Syst.Sci.17, pp.348–375, 1978.zbMATHMathSciNetCrossRefGoogle Scholar
  17. 17.
    C.R.Murthy: An Evaluation Semantics for Classical Proofs, Proc. 6th Annual IEEE Symposium on LICS, pp.96–107, 1991.Google Scholar
  18. 18.
    A.Meyer, M.Wand: Continuation Semantics in Typed Lambda-Calculi, LNCS 193, pp.219–224, 1985.zbMATHMathSciNetGoogle Scholar
  19. 19.
    C.-H.L.Ong: A Semantic View of Classical Proofs: Type-Theoretic, Categorical, and Denotational Characterizations, Linear Logic ’96 Tokyo Meeting, 1996.Google Scholar
  20. 20.
    C.-H.L.Ong, C.A.Stewart: A Curry-Howard Foundation for Functional Computation with Control, Proc. 24th Annual ACM Symposium of POPL, Languages, 1997.Google Scholar
  21. 21.
    M.Parigot: λΜ-Calculus: An Algorithmic Interpretation of Classical Natural Deduction, LNCS 624, pp.190–201, 1992.zbMATHMathSciNetGoogle Scholar
  22. 22.
    G.Plotkin: Call-by-Name, Call-by-Value and the λ-Calculus, Theor.Comput.Sci.1, pp. 125–159, 1975.zbMATHMathSciNetCrossRefGoogle Scholar
  23. 23.
    D.Prawitz: Ideas and Results in Proof Theory, Proc. 2nd Scandinavian Logic Symposium, edited by N.E.Fenstad, North-Holland, pp.235–307, 1971.Google Scholar
  24. 24.
    N.J.Rehof, M.H.SØrensen: The λΔ-Calculus, LNCS 789, pp.516–542, 1994.zbMATHGoogle Scholar
  25. 25.
    M.Tofte: Type Inference for Polymorphic References, Information and Computation 89, pp. 1–34, 1990.zbMATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    P.H.Winston, B.K.P.Horn: LISP (3rd, Ed), Addison Wesley, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Ken-etsu Fujita
    • 1
  1. 1.Kyushu Institute of TechnologyIizukaJapan

Personalised recommendations