Skip to main content Accessibility help

On the reification of semantic linearity


Linearity is a multi-faceted and ubiquitous notion in the analysis and development of programming language concepts. We study linearity in a denotational perspective by picking out programs that correspond to linear functions between domains.

We propose a PCF-like language imposing linear constraints on the use of variable to program only linear functions. To entail a full abstraction result, we introduce some higher-order operators related to exception handling and parallel evaluation. We study several notions of operational equivalence and show them to coincide with our language. Finally, we present a new operational evaluation of the language that provides the base for a real implementation. It exploits the denotational linearity to provide an efficient evaluation semantics SECD-like, that avoids the use of closures.

Hide All
Abramsky, S., Malacaria, P. and Jagadeesan, R. (2000) Full abstraction for PCF. Information and Computation 163 (2)409470.(An extended abstract can be found in Theoretical Aspects of Computer Software (Sendai, 1994), Lecture Notes in Computer Science, 789 1–15, Springer-Verlag, Berlin, 1994.)
Abramsky, S. and McCusker, G. (1996) Linearity, sharing and state: A fully abstract game semantics for idealized algol with active expressions. Electronic Notes in Theoretical Computer Science 3 214.
Alves, S., Fernández, M., Florido, M. and Mackie, I. (2006) The power of linear functions. In: Ésik, Z. (ed.) Proceedings of the 20th International Workshop on Computer Science Logic, 15th Annual Conference of the European Association for Computer Science Logic, Szeged, Hungary, 25–29 September. Springer-Verlag Lecture Notes in Computer Science 4207 119134.
Alves, S., Fernández, M., Florido, M. and Mackie, I. (2007) Linear recursive functions. In: Comon-Lundh, H., Kirchner, C. and Kirchner, H. (eds.) Rewriting, Computation and Proof, Essays Dedicated to Jean-Pierre Jouannaud on the Occasion of His 60th Birthday. Springer-Verlag Lecture Notes in Computer Science 4600 182195.
Alves, S., Fernndez, M., Florido, M. and Mackie, I. (2010) Gödel's system T revisited. Theoretical Computer Science 411 (11–13)14841500.
Augustsson, L. (1987) Compiling Lazy Functional Languages, Part II, Ph.D. thesis, Department of Computer Sciences, Chalmers University of Technology, Goteborg, Sweden.
Berry, G. (1978) Stable models of typed λ-calculi. In: Ausiello, G. and Böhm, C. (eds.) Fifth International Colloquium on Automata, Languages and Programming. (Udine, Italy, July 17–21). Springer-Verlag Lecture Notes in Computer Science 62 7289.
Berry, G. and Curien, P.-L. (1982) Sequential algorithms on concrete data structures. Theoretical Computer Science 20 265321.
Bierman, G. M. (2000) Program equivalence in a linear functional language. Journal of Functional Programming 10 (2)167190.
Bierman, G. M., Pitts, A. M. and Russo, C. V. (2000) Operational properties of lily, a polymorphic linear lambda calculus with recursion. Electronic Notes in Theoretical Computer Science 41 (3)7088.
Bucciarelli, A., Carraro, A., Ehrhard, T. and Salibra, A. (2010) On linear information systems. In: LINEARITY'09, Satellite Workshop of Computer Science Logic 2009 Electronic Proceedings in Theoretical Computer Science 22 3848.
Bucciarelli, A. and Ehrhard, T. (1991) Sequentiality and strong stability. In: Proceedings of the Symposium on Logic in Computer Science 138–145.
Bucciarelli, A. and Ehrhard, T. (1993) A theory of sequentiality. Theoretical Computer Science 113 (2)273291.
Bucciarelli, A. and Ehrhard, T. (1994) Sequentiality in an extensional framework. Information and Computation 110 (2)265296.
Curien, P.-L. (2007) Definability and full abstraction. Electronic Notes in Theoretical Computer Science 172 301310.
Cutland, N. (1980) Computability: An Introduction to Recursive Function Theory, Cambridge University Press.
Davis, M. and Weyuker, E. J. (1983) Computability, Complexity and Languages, Computer Science and Applied Mathematics, Academic Press.
de Bruijn, N. G. (1972) Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem. Indagationes Mathematicae (Proceedings) 75 (5)381392.
Ehrhard, T. (1995) Hypercoherence: A strongly stable model of linear logic. In: Girard, J.-Y., Lafont, Y. and Regnier, L. (eds.) Proceedings of the Workshop on Advances in Linear Logic. London Mathematical Society Lecture Note Series 222, Cambridge University Press, Ithaca, New York 83–108.
Gaboardi, M. and Paolini, L. (2007) Syntactical, operational and denotational linearity. In: Workshop on Linear Logic, Ludics, Implicit Complexity and Operator Algebras. Dedicated to Jean-Yves Girard on his 60th birthday. Certosa di Pontignano, Siena.
Gaboardi, M., Paolini, L. and Piccolo, M. (2011) Linearity and PCF: a semantic insight! In: Chakravarty, M. M. T., Hu, Z. and Danvy, O. (eds.) Proceeding of the 16th Association for Computing Machinery's Special interest Group on Programming Language, International Conference on Functional Programming Tokyo, Japan372384.
Girard, J.-Y. (1986) The system F of variable types, fifteen years later. Theoretical Computer Science 45 (2)159192.
Girard, J.-Y. (1987) Linear logic. Theoretical Computer Science 50 1102.
Girard, J.-Y., Lafont, Y. and Taylor, P. (1989) Proofs and Types, Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, Cambridge.
Gunter, C. A. (1992) Semantics of Programming Languages: Structures and Techniques, Foundations of Computing Series, The MIT Press, Cambridge, MA.
Hindley, J. R. (1989) BCK-combinators and linear λ-terms have types. Theoretical Computer Science 64 97105.
Huth, M. (1993) Linear domains and linear maps. In: Brookes, S. D., Main, M. G., Melton, A., Mislove, M. W. and Schmidt, D. A. (eds.) Proceedings of Mathematical Foundations of Programming Semantics, 9th International Conference, (New Orleans, LA, USA, April 7–10). Springer Lecture Notes in Computer Science 802 438453.
Hyland, J. M. E. and Ong, L. C.-H. (2000) On full abstraction for PCF: I, II, and III. Information and Computation 163 (2)285408.
Johnsson, T. (1985) Lambda lifting: Transforming programs to recursive equations. In: Jouannaud, J.-P. (ed), Functional Programming Languages and Computer Architecture. Lecture Notes in Computer Science 201 190203.
Johnsson, T. (1987) Compiling Lazy Functional Languages, Ph.D. thesis, Department of Computer Sciences, Chalmers University of Technology, Goteborg, Sweden.
Klop, J. W. (2007) New fix point combinators from old. In: Barendsen, E., Capretta, V., Geuvers, H. and Niqui, M. (eds.) Reflections on Type Theory, Radboud University Nijmegen.
Longley, J. R. (2000) Notions of computability at higher types I. In: Cori, R., Razborov, A., Todorcevic, S. and Wood, C. (eds.) Proceedings of the Annual European Summer Meeting of the Association for Symbolic Logic – Logic Colloquium. Lecture Notes in Logic 19 32142, Paris, France. Association for Symbolic Logic.
Longley, J. R. (2002) The sequentially realizable functionals. Annals of Pure and Applied Logic 117 193.
Normann, D. (2006) Computing with functionals - computability theory or computer science? Bulletin of Symbolic Logic 12 (1)4359.
Ong, C.-H. L. (1995) Correspondence between operational and denotational semantics: the full abstraction for PCF. In: Abramsky, S., Gabbay, D. and Maibaum, T. S. E. (eds.) Handbook of Logic in Computer Science, volume 4, Oxford University Press 269356.
Paolini, L. (2006) A stable programming language. Information and Computation 204 (3)339375.
Paolini, L. and Piccolo, M. (2008) Semantically linear programming languages. In: Antoy, S. and Albert, E. (eds.) Proceedings of the 10th International Association for Computing Machinery's Special interest Group on Programming Languages Conference on Principles and Practice of Declarative Programming, Valencia, Spain, ACM 97107.
Plotkin, G. D. (1977) LCF considered as a programming language. Theoretical Computer Science 5 225255.
Walker, D. (2005) Substructural type systems. In: Advanced Topics in Types and Programming Languages. The MIT Press.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed