From Algol to polymorphic linear lambda-calculus
- 1 January 2000
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 47 (1) , 167-223
- https://doi.org/10.1145/331605.331611
Abstract
In a linearly-typed functional language, one can define functions that consume their arguments in the process of computing their results. This is reminiscent of state transformations in imperative languages, where execition of an assignment statement alters the contents of the store. We explore this connection by translating two variations on Algol 60 into a purely functional language with polymorphic linear types. On the one hand, the translations lead to a semantic analysis of Algol-like programs, in terms of a model of the linear language. On the other hand, they demonstrate that a linearly-typed functional language can be at least as expressive as Algol.Keywords
This publication has 19 references indexed in Scilit:
- Syntactic control of interference revisitedTheoretical Computer Science, 1999
- Full abstraction for the second order subset of an Algol-like languageTheoretical Computer Science, 1996
- Parametricity and local variablesJournal of the ACM, 1995
- Lilac: a functional programming language based on linear logicJournal of Functional Programming, 1994
- Computational interpretations of linear logicTheoretical Computer Science, 1993
- The linear abstract machineTheoretical Computer Science, 1988
- Linear logicTheoretical Computer Science, 1987
- Detecting global variables in denotational specificationsACM Transactions on Programming Languages and Systems, 1985
- LCF considered as a programming languageTheoretical Computer Science, 1977
- Fully abstract models of typed λ-calculiTheoretical Computer Science, 1977