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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M.: ⊤ ⊤-closed relations and admissibility. Math. Struct. Comp. Sci. 10(3), 313–320 (2000)
Barendregt, H.P.: Lambda calculi with types. In: Handbook of Logic in Computer Science, vol. II, pp. 118–309. OUP, Stony Stratford (1992)
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)
Benton, P.N., Bierman, G., de Paiva, V.: Computational types from a logical perspective. J. Funct. Prog. 8(2), 177–193 (1998)
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)
Benton, P.N., Kennedy, A.: Personal communication (December 1998)
Benton, P.N., Kennedy, A., Russell, G.: Compiling Standard ML to Java bytecodes. In: Proc. ICFP 1998. ACM Press, New York (1998)
Benton, P.N., Kennedy, A., Russo, C., Russell, G.: The SML.NET compiler, Available at http://www.cl.cam.ac.uk/Research/TSG/SMLNET/
Benton, P.N., Kennedy, A.J.: Exceptional syntax. J. Funct. Prog. 11(4), 395–410 (2001)
Carlsson, R., Gustavsson, B., Nyblom, P.: Erlang’s exception handling revisited. In: Proc. ERLANG 2004, pp. 16–26. ACM Press, New York (2004)
de Groote, P.: On the strong normalisation of intuitionistic natural deduction with permutation-conversions. Inf. & Comp. 178(2), 441–464 (2002)
Filinski, A.: Representing monads. In: Conf. Record POPL 1994, pp. 446–457. ACM Press, New York (1994)
Girard, J.-Y.: Linear logic. Theor. Comp. Sci. 50(1), 1–102 (1987)
Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. CUP, New York (1989)
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)
Hatcliff, J., Danvy, O.: A generic account of continuation-passing styles. In: Conf. Record POPL 1994, pp. 458–471. ACM Press, New York (1994)
Joachimski, F., Matthes, R.: Short proofs of normalization. Arch. Math. Log. 42(1), 58–87 (2003)
Lillibridge, M.: Unchecked exceptions can be strictly more powerful than call/cc. Higher-Order & Symb. Comp. 12(1), 75–104 (1999)
Lindley, S.: Normalisation by Evaluation in the Compilation of Typed Functional Programming Languages. PhD thesis, U. Edinburgh (2005)
Moggi, E.: Computational lambda-calculus and monads. In: Proc. LICS 1989, pp. 14–23. IEEE Comp. Soc. Press, Los Alamitos (1989)
Moggi, E.: Notions of computation and monads. Inf. & Comp. 93(1), 55–92 (1991)
Newburn, J.: All about monads, v1.1.0., http://www.nomaware.com/monads
Parigot, M.: Proofs of strong normalisation for second order classical natural deduction. J. Symb. Log. 62(4), 1461–1479 (1997)
Peyton Jones, S. (ed.): Haskell 98 Language and Libraries: The Revised Report. CUP, New York (2003)
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)
Pitts, A.M.: Parametric polymorphism and operational equivalence. Math. Struct. Comp. Sci. 10, 321–359 (2000)
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)
Sabry, A., Wadler, P.: A reflection on call-by-value. ACM Trans. Prog. Lang. Syst. 19(6), 916–941 (1997)
Tait, W.W.: Intensional interpretations of functionals of finite type I. J. Symb. Log. 32(2), 198–212 (1967)
Vouillon, J.: Subtyping union types. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 415–429. Springer, Heidelberg (2004)
Vouillon, J., Melliès, P.-A.: Recursive polymorphic types and parametricity in an operational framework. (Submitted for publication) (2004)
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)
Wadler, P.: Monads for functional programming. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 24–52. Springer, Heidelberg (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)