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:
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- 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
- 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