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 .
Similar content being viewed by others
References
Abramsky, S.: Computational interpretations of linear logic. Theor. Comput. Sci. 111, 3–57 (1993)
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
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)
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)
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
Alves, S., Fernández, M., Florido, M., Mackie, I.: Gödel’s System T revisited. Theor. Comput. Sci. 411(11–13), 1484–1500 (2010)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, New York (1998)
Bakel, S.: Intersection type disciplines in lambda calculus and applicative term rewriting systems. Ph.D. thesis, Department of Computer Science, University of Nijmegen (1993)
Bakel, S.: Intersection type assignment systems. Theor. Comput. Sci. 151(2), 385–435 (1995)
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)
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)
Damas, L.M.M.: Type assignment in programming languages. Ph.D. thesis. University of Edinburgh (1985)
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)
Damiani, F.: Rank-2 intersection and polymorphic recursion. In: TLCA’05. Lecture Notes in Computer Science, vol. 3461, pp. 146–161. Springer, Berlin (2005)
Fernández, M., Mackie, I., Sinot, F.-R.: Closed reduction: explicit substitutions without alpha conversion. Math. Struct. Comput. Sci. 15(2), 343–381 (2005)
Girard, J.-Y.: Linear Logic. Theor. Comput. Sci. 50(1), 1–102 (1987)
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)
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)
Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge Tracts in Theoretical Computer Science, vol. 7. Cambridge University Press, Cambridge (1989)
Haack, C., Wells, J.B.: Type error slicing in implicitly typed higher-order languages. Sci. Comput. Program. 50(1–3), 189–224 (2004)
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)
Hodas, J.S., Miller, D.: Logic programming in a fragment of intuitionistic linear logic. Inf. Comput. 110(2), 327–365 (1994)
Hudak, P., Peterson, J., Fasel, J.: A gentle introduction to Haskell 98. http://www.haskell.org/tutorial/ (1999)
Jim, T.: Rank 2 type systems and recursive definitions. Technical report. Massachusetts Institute of Technology (1995)
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)
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)
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)
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)
Lambek, J., Scott, P.J.: Introduction to Higher Order Categorical Logic. Cambridge Studies in Advanced Mathematics, vol. 7. Cambridge University Press, Cambridge (1986)
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)
Mackie, I.: Lilac: A functional programming language based on linear logic. J. Funct. Program. 4(4), 395–433 (1994)
Mackie, I., Román, L., Abramsky, S.: An internal language for autonomous categories. Appl. Categ. Struct. 1(3), 311–343 (1993)
Martelli, A., Montanari, U.: An efficient unification algorithm. ACM Trans. Program. Lang. Syst. 4(2), 258–282 (1982)
Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17(3), 348–375 (1978)
Newman, M.: On theories with a combinatorial definition of “equivalence. Ann. Math. 43(2), 223–243 (1942)
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)
Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10990-010-9060-x