Classical Call-by-Need Sequent Calculi: The Unity of Semantic Artifacts

  • Zena M. Ariola
  • Paul Downen
  • Hugo Herbelin
  • Keiko Nakata
  • Alexis Saurin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7294)

Abstract

We systematically derive a classical call-by-need sequent calculus, which does not require an unbounded search for the standard redex, by using the unity of semantic artifacts proposed by Danvy et al. The calculus serves as an intermediate step toward the generation of an environment-based abstract machine. The resulting abstract machine is context-free, so that each step is parametric in all but one component. The context-free machine elegantly leads to an environment-based CPS transformation. This transformation is observationally different from a natural classical extension of the transformation of Okasaki et al., due to duplication of un-evaluated bindings.

Keywords

call-by-need lazy evaluation duality of computation sequent calculus λμ-calculus classical logic control 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ariola, Z.M., Felleisen, M.: The call-by-need lambda calculus. J. Funct. Program. 7(3), 265–301 (1997)MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Ariola, Z.M., Herbelin, H.: Control reduction theories: the benefit of structural substitution. J. Funct. Program. 18(3), 373–419 (2008)MathSciNetMATHCrossRefGoogle Scholar
  3. 3.
    Ariola, Z.M., Herbelin, H., Saurin, A.: Classical Call-by-Need and Duality. In: Ong, L. (ed.) TLCA 2011. LNCS, vol. 6690, pp. 27–44. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Danvy, O.: From Reduction-Based to Reduction-Free Normalization. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds.) AFP 2008. LNCS, vol. 5832, pp. 66–164. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Danvy, O., Millikin, K., Munk, J., Zerny, I.: Defunctionalized Interpreters for Call-by-Need Evaluation. In: Blume, M., Kobayashi, N., Vidal, G. (eds.) FLOPS 2010. LNCS, vol. 6009, pp. 240–256. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Garcia, R., Lumsdaine, A., Sabry, A.: Lazy evaluation and delimited control. In: Proceedings of POPL 2009, pp. 153–164. ACM, New York (2009)Google Scholar
  7. 7.
    Maraist, J., Odersky, M., Wadler, P.: The call-by-need λ-calculus. J. Funct. Program. 8(3), 275–317 (1998)MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    Okasaki, C., Lee, P., Tarditi, D.: Call-by-need and continuation-passing style. In: Lisp and Symbolic Computation, pp. 57–81. Kluwer Academic Publishers (1993)Google Scholar
  9. 9.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Zena M. Ariola
    • 1
  • Paul Downen
    • 1
  • Hugo Herbelin
    • 2
  • Keiko Nakata
    • 3
  • Alexis Saurin
    • 2
  1. 1.University of OregonUSA
  2. 2.CNRS, PPS UMR 7126, Univ Paris Diderot, Sorbonne Paris Cité, PiR2, INRIA Paris RocquencourtParisFrance
  3. 3.Institute of CyberneticsTallinn UniversityEstonia

Personalised recommendations