Skip to main content
Log in

Linearity and iterator types for Gödel’s System

  • Published:
Higher-Order and Symbolic Computation

Abstract

System is a linear λ-calculus with numbers and an iterator, which, although imposing linearity restrictions on terms, has all the computational power of Gödel’s System . System owes its power to two features: the use of a closed reduction strategy (which permits the construction of an iterator on an open function, but only iterates the function after it becomes closed), and the use of a liberal typing rule for iterators based on iterative types. In this paper, we study these new types, and show how they relate to intersection types. We also give a sound and complete type reconstruction algorithm for System .

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abramsky, S.: Computational interpretations of linear logic. Theor. Comput. Sci. 111, 3–57 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  2. Alves, S.: Linearisation of the lambda calculus. Ph.D. thesis, Faculty of Science, University of Porto (April 2007). Available from http://www.dcc.fc.up.pt/sandra/papers/PhDthesis.pdf.gz

  3. Alves, S., Fernández, M., Florido, M., Mackie, I.: The power of linear functions. In: Ésik, Z. (ed.) Proceedings of the 15th EACSL Conference on Computer Science Logic (CSL’06). Lecture Notes in Computer Science, vol. 4207, pp. 119–134. Springer, Berlin (2006)

    Google Scholar 

  4. Alves, S., Fernández, M., Florido, M., Mackie, I.: Iterator types. In: Seidl, H. (ed.) Proceedings FOSSACS. Lecture Notes in Computer Science, vol. 4423, pp. 17–31. Springer, Berlin (2007)

    Google Scholar 

  5. Alves, S., Fernández, M., Florido, M., Mackie, I.: The power of closed-reduction strategies. Electron. Notes Theor. Comput. Sci. 174(10), 57–74 (2007). Proceedings of WRS 2006, 6th International Workshop on Rewriting Strategies, FLOC 2006, Seattle

    Article  Google Scholar 

  6. Alves, S., Fernández, M., Florido, M., Mackie, I.: Gödel’s System T revisited. Theor. Comput. Sci. 411(11–13), 1484–1500 (2010)

    Article  MATH  Google Scholar 

  7. Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, New York (1998)

    Google Scholar 

  8. Bakel, S.: Intersection type disciplines in lambda calculus and applicative term rewriting systems. Ph.D. thesis, Department of Computer Science, University of Nijmegen (1993)

  9. Bakel, S.: Intersection type assignment systems. Theor. Comput. Sci. 151(2), 385–435 (1995)

    Article  MATH  Google Scholar 

  10. Barendregt, H.P., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type-assignment. J. Symb. Log. 48, 931–940 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  11. Coppo, M., Dezani-Ciancaglini, M.: An extension of the basic functionality theory for the λ-calculus. Notre Dame J. Form. Log. 21(4), 685–693 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  12. Damas, L.M.M.: Type assignment in programming languages. Ph.D. thesis. University of Edinburgh (1985)

  13. Damas, L.M.M., Milner, R.: Principal type schemes for functional programs. In: Conference Record of the Ninth Annual ACM Symposium on the Principles of Programming Languages, pp. 207–212 (1982)

  14. Damiani, F.: Rank-2 intersection and polymorphic recursion. In: TLCA’05. Lecture Notes in Computer Science, vol. 3461, pp. 146–161. Springer, Berlin (2005)

    Google Scholar 

  15. Fernández, M., Mackie, I., Sinot, F.-R.: Closed reduction: explicit substitutions without alpha conversion. Math. Struct. Comput. Sci. 15(2), 343–381 (2005)

    Article  MATH  Google Scholar 

  16. Girard, J.-Y.: Linear Logic. Theor. Comput. Sci. 50(1), 1–102 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  17. Girard, J.-Y.: Geometry of interaction 1: Interpretation of System F. In: Ferro, R., Bonotto, C., Valentini, S., Zanardo, A. (eds.) Logic Colloquium 88. Studies in Logic and the Foundations of Mathematics, vol. 127, pp. 221–260. North-Holland, Amsterdam (1989)

    Google Scholar 

  18. Girard, J.-Y.: Towards a geometry of interaction. In: Gray, J.W., Scedrov, A. (eds.) Categories in Computer Science and Logic: Proc. of the Joint Summer Research Conference, pp. 69–108. Am. Math. Soc., Providence (1989)

    Google Scholar 

  19. Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge Tracts in Theoretical Computer Science, vol. 7. Cambridge University Press, Cambridge (1989)

    MATH  Google Scholar 

  20. Haack, C., Wells, J.B.: Type error slicing in implicitly typed higher-order languages. Sci. Comput. Program. 50(1–3), 189–224 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  21. Hodas, J.S., Miller, D.: Logic programming in a fragment of intuitionistic linear logic. In: LICS, pp. 32–42. IEEE Comput. Soc., Los Alamitos (1991)

    Google Scholar 

  22. Hodas, J.S., Miller, D.: Logic programming in a fragment of intuitionistic linear logic. Inf. Comput. 110(2), 327–365 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  23. Hudak, P., Peterson, J., Fasel, J.: A gentle introduction to Haskell 98. http://www.haskell.org/tutorial/ (1999)

  24. Jim, T.: Rank 2 type systems and recursive definitions. Technical report. Massachusetts Institute of Technology (1995)

  25. Jim, T.: What are principal typings and what are they good for? In: Proceedings of the 23rd ACM Symposium on Principles of Programming Languages (POPL’96). ACM, New York (1996)

    Google Scholar 

  26. Kfoury, A.J., Mairson, H.G., Turbak, F.A., Wells, J.B.: Relating typability and expressibility in finite-rank intersection type systems. In: Proceedings of the 1999 International Conference on Functional Programming, pp. 90–101. ACM, New York (1999)

    Google Scholar 

  27. Lafont, Y.: Interaction nets. In: Proceedings of the 17th ACM Symposium on Principles of Programming Languages (POPL’90), pp. 95–108. ACM, New York (1990)

    Google Scholar 

  28. Lambek, J.: From lambda calculus to Cartesian closed categories. In: Seldin, J.P., Hindley, J.R. (eds.) To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pp. 363–402. Academic Press, London (1980)

    Google Scholar 

  29. Lambek, J., Scott, P.J.: Introduction to Higher Order Categorical Logic. Cambridge Studies in Advanced Mathematics, vol. 7. Cambridge University Press, Cambridge (1986)

    MATH  Google Scholar 

  30. Mackie, I., Lilac: A functional programming language based on linear logic. Master’s thesis, Department of Computing, Imperial College of Science, Technology and Medicine (September 1991)

  31. Mackie, I.: Lilac: A functional programming language based on linear logic. J. Funct. Program. 4(4), 395–433 (1994)

    Article  MATH  Google Scholar 

  32. Mackie, I., Román, L., Abramsky, S.: An internal language for autonomous categories. Appl. Categ. Struct. 1(3), 311–343 (1993)

    Article  MATH  Google Scholar 

  33. Martelli, A., Montanari, U.: An efficient unification algorithm. ACM Trans. Program. Lang. Syst. 4(2), 258–282 (1982)

    Article  MATH  Google Scholar 

  34. Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17(3), 348–375 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  35. Newman, M.: On theories with a combinatorial definition of “equivalence. Ann. Math. 43(2), 223–243 (1942)

    Article  Google Scholar 

  36. Pottinger, G.: A type assignment for strongly normalizable λ-terms. In: To H.B. Curry, Essays in Combinatory Logic, Lambda-Calculus and Formalism, pp. 535–560. Academic Press, New York (1980)

    Google Scholar 

  37. Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)

    Article  MATH  Google Scholar 

  38. Schwichtenberg, H.: Complexity of normalization in the pure typed lambda-calculus. In: Proceedings L.E.J. Brouwer Centenary Symposium, 1981. Studies in Logic and the Foundations of Mathematics, vol. 110. North-Holland, Amsterdam (1982)

    Google Scholar 

  39. Toyama, Y.: Confluent term rewriting systems with membership. In: Proceedings of the 1st International Workshop on Conditional Term Rewriting Systems, CTRS’87, Orsay, France. Lecture Notes in Computer Science, vol. 308, pp. 228–241. Springer, Berlin (1988)

    Google Scholar 

  40. Yamada, J.: Confluence of terminating membership conditional TRS. In: Proceedings of the 3rd International Workshop on Conditional Term Rewriting Systems, CTRS’92, Pont-à-Mousson, France. Lecture Notes in Computer Science, vol. 656, pp. 378–392. Springer, Berlin (1993)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ian Mackie.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Alves, S., Fernández, M., Florido, M. et al. Linearity and iterator types for Gödel’s System . Higher-Order Symb Comput 23, 1–27 (2010). https://doi.org/10.1007/s10990-010-9060-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10990-010-9060-x

Keywords

Navigation