Single-threaded polymorphic lambda calculus
- 4 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 333-343
- https://doi.org/10.1109/lics.1990.113759
Abstract
The primary goal of this study is to devise a method to express mutations to state in a modern (higher order, polymorphic, nonstrict) functional language, without sacrificing referential transparency, and with a simple, easy-to-reason-about semantics. Although collectively these properties seem contradictory, a satisfactory solution is found. Aside from the fundamental property of referential transparency, the two key properties that the authors maximize are simplicity and expressiveness. The system must be easy to use: expressing mutations to state should be natural, and the resulting behavior should be easy to reason about.Keywords
This publication has 8 references indexed in Scilit:
- Polymorphic subtype inference: Closing the theory-practice gapLecture Notes in Computer Science, 1989
- Polymorphic effect systemsPublished by Association for Computing Machinery (ACM) ,1988
- λ-V-CS: an extended λ-calculus for schemePublished by Association for Computing Machinery (ACM) ,1988
- Linear logicTheoretical Computer Science, 1987
- Coercion and type inferencePublished by Association for Computing Machinery (ACM) ,1984
- A theory of type polymorphism in programmingJournal of Computer and System Sciences, 1978
- The Principal Type-Scheme of an Object in Combinatory LogicTransactions of the American Mathematical Society, 1969
- A Machine-Oriented Logic Based on the Resolution PrincipleJournal of the ACM, 1965