Skip to main content

Reducibility and ⊤ ⊤-Lifting for Computation Types

  • Conference paper
Typed Lambda Calculi and Applications (TLCA 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3461))

Included in the following conference series:

Abstract

We propose ⊤ ⊤-lifting as a technique for extending operational predicates to Moggi’s monadic computation types, independent of the choice of monad. We demonstrate the method with an application to Girard-Tait reducibility, using this to prove strong normalisation for the computational metalanguage λ ml . The particular challenge with reducibility is to apply this semantic notion at computation types when the exact meaning of “computation” (stateful, side-effecting, nondeterministic, etc.) is left unspecified. Our solution is to define reducibility for continuations and use that to support the jump from value types to computation types. The method appears robust: we apply it to show strong normalisation for the computational metalanguage extended with sums, and with exceptions. Based on these results, as well as previous work with local state, we suggest that this “leap-frog” approach offers a general method for raising concepts defined at value types up to observable properties of computations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M.: ⊤ ⊤-closed relations and admissibility. Math. Struct. Comp. Sci. 10(3), 313–320 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  2. Barendregt, H.P.: Lambda calculi with types. In: Handbook of Logic in Computer Science, vol. II, pp. 118–309. OUP, Stony Stratford (1992)

    Google Scholar 

  3. Barthe, G., Hatcliff, J., Thiemann, P.: Monadic type systems: Pure type systems for impure settings. In: Proc. HOOTS II. ENTCS, vol. 10. Elsevier, Amsterdam (1997)

    Google Scholar 

  4. Benton, P.N., Bierman, G., de Paiva, V.: Computational types from a logical perspective. J. Funct. Prog. 8(2), 177–193 (1998)

    Article  MATH  Google Scholar 

  5. Benton, N., Hughes, J., Moggi, E.: Monads and effects. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 42–122. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  6. Benton, P.N., Kennedy, A.: Personal communication (December 1998)

    Google Scholar 

  7. Benton, P.N., Kennedy, A., Russell, G.: Compiling Standard ML to Java bytecodes. In: Proc. ICFP 1998. ACM Press, New York (1998)

    Google Scholar 

  8. Benton, P.N., Kennedy, A., Russo, C., Russell, G.: The SML.NET compiler, Available at http://www.cl.cam.ac.uk/Research/TSG/SMLNET/

  9. Benton, P.N., Kennedy, A.J.: Exceptional syntax. J. Funct. Prog. 11(4), 395–410 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  10. Carlsson, R., Gustavsson, B., Nyblom, P.: Erlang’s exception handling revisited. In: Proc. ERLANG 2004, pp. 16–26. ACM Press, New York (2004)

    Chapter  Google Scholar 

  11. de Groote, P.: On the strong normalisation of intuitionistic natural deduction with permutation-conversions. Inf. & Comp. 178(2), 441–464 (2002)

    Article  MATH  Google Scholar 

  12. Filinski, A.: Representing monads. In: Conf. Record POPL 1994, pp. 446–457. ACM Press, New York (1994)

    Google Scholar 

  13. Girard, J.-Y.: Linear logic. Theor. Comp. Sci. 50(1), 1–102 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  14. Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. CUP, New York (1989)

    Google Scholar 

  15. Goubault-Larrecq, J., Lasota, S., Nowak, D.: Logical relations for monadic types. In: Bradfield, J.C. (ed.) CSL 2002 and EACSL 2002. LNCS, vol. 2471, pp. 553–568. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  16. Hatcliff, J., Danvy, O.: A generic account of continuation-passing styles. In: Conf. Record POPL 1994, pp. 458–471. ACM Press, New York (1994)

    Google Scholar 

  17. Joachimski, F., Matthes, R.: Short proofs of normalization. Arch. Math. Log. 42(1), 58–87 (2003)

    Article  MathSciNet  Google Scholar 

  18. Lillibridge, M.: Unchecked exceptions can be strictly more powerful than call/cc. Higher-Order & Symb. Comp. 12(1), 75–104 (1999)

    Article  MATH  Google Scholar 

  19. Lindley, S.: Normalisation by Evaluation in the Compilation of Typed Functional Programming Languages. PhD thesis, U. Edinburgh (2005)

    Google Scholar 

  20. Moggi, E.: Computational lambda-calculus and monads. In: Proc. LICS 1989, pp. 14–23. IEEE Comp. Soc. Press, Los Alamitos (1989)

    Google Scholar 

  21. Moggi, E.: Notions of computation and monads. Inf. & Comp. 93(1), 55–92 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  22. Newburn, J.: All about monads, v1.1.0., http://www.nomaware.com/monads

  23. Parigot, M.: Proofs of strong normalisation for second order classical natural deduction. J. Symb. Log. 62(4), 1461–1479 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  24. Peyton Jones, S. (ed.): Haskell 98 Language and Libraries: The Revised Report. CUP, New York (2003)

    Google Scholar 

  25. Pitts, A., Stark, I.: Operational reasoning for functions with local state. In: Higher Order Operational Techniques in Semantics, pp. 227–273. CUP, New York (1998)

    Google Scholar 

  26. Pitts, A.M.: Parametric polymorphism and operational equivalence. Math. Struct. Comp. Sci. 10, 321–359 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  27. Prawitz, D.: Ideas and results in proof theory. In: Proc. 2nd Scand. Log. Symp. Stud. Log. Found. Math., vol. 63, pp. 235–307. North Holland, Amsterdam (1971)

    Chapter  Google Scholar 

  28. Sabry, A., Wadler, P.: A reflection on call-by-value. ACM Trans. Prog. Lang. Syst. 19(6), 916–941 (1997)

    Article  Google Scholar 

  29. Tait, W.W.: Intensional interpretations of functionals of finite type I. J. Symb. Log. 32(2), 198–212 (1967)

    Article  MATH  MathSciNet  Google Scholar 

  30. Vouillon, J.: Subtyping union types. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 415–429. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  31. Vouillon, J., Melliès, P.-A.: Recursive polymorphic types and parametricity in an operational framework. (Submitted for publication) (2004)

    Google Scholar 

  32. Vouillon, J., Melliès, P.-A.: Semantic types: a fresh look at the ideal model for types. In: Conf. Record POPL 2004, pp. 52–63. ACM Press, New York (2004)

    Google Scholar 

  33. Wadler, P.: Monads for functional programming. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 24–52. Springer, Heidelberg (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lindley, S., Stark, I. (2005). Reducibility and ⊤ ⊤-Lifting for Computation Types. In: Urzyczyn, P. (eds) Typed Lambda Calculi and Applications. TLCA 2005. Lecture Notes in Computer Science, vol 3461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11417170_20

Download citation

  • DOI: https://doi.org/10.1007/11417170_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25593-2

  • Online ISBN: 978-3-540-32014-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics