The lambda-calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with lambda-terms. However, if one goes further and uses beta eta-conversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with total functions from values to values), that may jeopardise the applicability of theoretical results. In this paper we introduce calculi based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs, for a wide range of notions of computation.
|
346
|
Computational lambda calculus and monads
– Moggi
- 1989
|
|
270
|
Denotational semantics: A Methodology for Language Development
– Schmidt
- 1986
|
|
240
|
Categories for the Working Mathematician
– MacLane
- 1972
|
|
225
|
Call-by-name, call-by-value, and the -calculus
– Plotkin
- 1975
|
|
208
|
Basic concepts of enriched category theory, London Mathematical Society Lecture Note Series 64
– Kelly
- 1982
|
|
138
|
Call-by-name, call-by-value, and the λ-calculus
– Plotkin
- 1975
|
|
135
|
Toposes, triples and theories
– Barr, Wells
- 1984
|
|
134
|
An abstract view of programming languages
– Moggi
- 1989
|
|
134
|
The category-theoretic solution of recursive domain equations
– Smyth, Plotkin
- 1982
|
|
132
|
Action Semantics
– Mosses
- 1992
|
|
129
|
Semantic domains
– Gunter, Scott
- 1990
|
|
127
|
Higherorder modules and the phase distinction
– Harper, Mitchell, et al.
- 1990
|
|
103
|
Introduction to Higher-Order Categorical Logic
– Lambek, Scott
- 1986
|
|
85
|
Linear logic, -autonomous categories and cofree coalgebras
– Seely
- 1989
|
|
82
|
The linear abstract machine
– Lafont
- 1988
|
|
66
|
Edinburgh LCF: A Mechanical Logic
– Gordon, Milner, et al.
- 1979
|
|
62
|
The formal theory of monads
– Street
- 1972
|
|
49
|
Programming with Continuations
– Friedman, Haynes, et al.
- 1984
|
|
44
|
Identity and existence in intuitionistic logic
– Scott
- 1979
|
|
40
|
The theory of constructions : Categorical semantics and topos-theoretic models
– Hyland, Pitts
- 1988
|
|
38
|
Continuity and effectiveness in topoi
– Rosolini
- 1986
|
|
37
|
A type-theoretic alternative to
– Scott
- 1993
|
|
33
|
A syntactic theory of sequential state
– Felleisen, Friedman
- 1989
|
|
33
|
Strong functors and monoidal monads
– Kock
- 1972
|
|
32
|
Partial objects in constructive type theory
– Constable, Smith
- 1987
|
|
27
|
Doctrines in categorical logic
– Kock, Reyes
- 1977
|
|
26
|
The Partial Lambda-Calculus
– Moggi
- 1988
|
|
26
|
First order categorical logic
– Makkai, Reyes
- 1977
|
|
25
|
Algebraic Theories, volume 26 of Graduate Texts in Mathematics
– Manes
- 1976
|
|
24
|
A category-theoretic account of program modules
– Moggi
- 1989
|
|
24
|
Programming, transforming, and proving with function abstractions and memories
– Mason, Talcott
- 1989
|
|
24
|
Denotational semantics with partial functions
– Plotkin
- 1985
|
|
21
|
Relating theories of the -calculus
– Scott
- 1980
|
|
20
|
Computational foundations of basic recursive function theory
– Constable, Smith
- 1988
|
|
17
|
The Logic of Topoi
– Fourman
- 1977
|
|
16
|
Continuity and eectiveness in topoi
– Rosolini
- 1986
|
|
12
|
Verification of programs that destructively manipulate data
– Mason
- 1988
|
|
10
|
Categories of Partial Morphisms and the partial lambda-calculus
– Moggi
- 1985
|
|
10
|
New foundations for Fixpoint Computations
– Crole, Pitts
- 1990
|
|
9
|
Relating theories of the λ-calculus
– Scott
- 1980
|
|
8
|
A sound and complete axiomatization of operational equivalence between programs with memory
– Mason, Talcott
- 1989
|
|
6
|
Syntactic Aspects of the Non-deterministic Lambda Calculus
– Sharma
- 1984
|
|
3
|
Indexed Categories and their Applications
– Johnstone, Pare
- 1978
|
|
2
|
New foundations for computations
– Crole, Pitts
- 1990
|