## Computational Lambda-Calculus and Monads (1988)

### Cached

### Download Links

- [pfp7.is.ocha.ac.jp]
- [www.disi.unige.it]
- [www.disi.unige.it]
- [www.disi.unige.it]
- DBLP

### Other Repositories/Bibliography

Citations: | 440 - 6 self |

### BibTeX

@INPROCEEDINGS{Moggi88computationallambda-calculus,

author = {Eugenio Moggi},

title = {Computational Lambda-Calculus and Monads},

booktitle = {},

year = {1988},

pages = {14--23},

publisher = {IEEE Computer Society Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

The -calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with -terms. However, if one goes further and uses fij-conversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the applicability of theoretical results to real situations. In this paper we introduce a new calculus based on a categorical semantics for computations. This calculus provides a correct basis for proving equivalence of programs, independent from any specific computational model. 1 Introduction This paper is about logics for reasoning about programs, in particular for proving equivalence of programs. Following a consolidated tradition in theoretical computer science we identify programs with the closed -terms, possibly containing extra constants, corresponding to some features of the programming language under consideration. There are three approaches to proving equivalence of programs: ffl T...

### Citations

1115 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1981
(Show Context)
Citation Context ...ny model of call-by-name N TN T = N 11 . 6 Reduction The syntactic aspects of thesc -calculus can be studied according to the same pattern used for the -calculus and thesv -calculus (see Chapter 3 of =-=[Bar84]-=- and [Plo75]). For simplicity we consider only untyped -terms with let-constructor. In order to define the notions of reduction we need to distinguish between two kind of terms: values and nonvalues. ... |

474 |
Categories for the working mathematician
- MacLane
- 1998
(Show Context)
Citation Context ...arbitrary morphism. According to the view of "programs as functions from values to computations" the natural category for interpreting programs is not C, but the Kleisli category. Definition=-= 2.3 (see [Mac71]-=-) Given a monad (T; j; ) over C, the Kleisli category C T , is the category s.t. : ffl the objects of C T are those of C ffl the set C T (A; B) of morphisms from A to B in C T is C(A; TB) ffl the iden... |

377 | Basic concepts of enriched category theory, volume 64 - Kelly - 1982 |

220 |
Call-by-name, call-by-value, and the #-calculus
- Plotkin
- 1975
(Show Context)
Citation Context ...semantics, e.g. a partial function mapping every program (i.e. closed term) to its resulting value (if any), which induces a congruence relation on open terms called operational equivalence (see e.g. =-=[Plo75]-=-). Then the problem is to prove that two terms are operationally equivalent. On leave from Universit`a di Pisa. Research partially supported by the Joint Collaboration Contract # ST2J-0374-C(EDB) of t... |

210 |
Closed categories
- Eilenberg, Kelly
- 1966
(Show Context)
Citation Context ...cture, i.e. a natural transformation /A;B : (TA \Theta TB) ! T (A \Theta B) and a map / 1 : 1 ! T1 /A;B = c TA;TB ; t TB;A ; T (c TB;A ; t A;B ); A\ThetaB ; / 1 = j 1 satisfying certain diagrams (see =-=[EK66]-=-). The morphism /A;B : (TA \Theta TB) ! T (A \Theta B) has the correct domain and codomain to interpret the pairing of a computation of type A with one of type B (obtained by first evaluating the firs... |

199 |
Call-by-name, call-by-value and the λ-calculus
- Plotkin
- 1975
(Show Context)
Citation Context ...semantics, e.g. a partial function mapping every program (i.e. closed term) to its resulting value (if any), which induces a congruence relation on open terms called operational equivalence (see e.g. =-=[Plo75]-=-). Then the problem is to prove that two terms are operationally equivalent. ∗ On leave from Università di Pisa. Research partially supported by the Joint Collaboration Contract # ST2J-0374-C(EDB) of ... |

112 |
The collected papers of Gerhard Gentzen
- Szabo
- 1969
(Show Context)
Citation Context ...e F , then the call-by-value interpretation of x 1 ; : : : ; x n ` e is a morphism from V n to TV (see Table 9), because free variables range over values. 10 The general rules of sequent calculus (in =-=[Sza69]-=-), more precisely those for substitution and quantifiers, have to be modified slightly, because variables range over values. These modifications are similar to those introduced in the logic of partial... |

102 | Linear logic, *-autonomous categories and cofree coalgebras
- Seely
- 1989
(Show Context)
Citation Context ...esv -calculus), by deriving more correct equivalences between programs. A comparison between the categorical semantic of computations and that of linear logic based on monoidal closed categories (see =-=[See87]-=-) shows that they lead to orthogonal (and compatible) modifications of the notion of cartesian closed category. In fact, in the former the monad Id C is replaced by another monad T , while in the latt... |

100 |
Towards a geometry of interaction
- Girard
(Show Context)
Citation Context ...formal parameter is used exactly once), but without changing the qualitative nature of computations (e.g. partial, nondeterministic, and so on), which is given by T . A different view is suggested in =-=[Gir88], based on-=- the paradigm: "proofs as actions". Thesc -calculus open the possibility to study axiomatically specific notions of computation, e.g. nondeterminism and parallelism, and their relations. For... |

58 | Reasoning with continuations - Felleisen, Friedman, et al. - 1986 |

49 |
Strong functors and monoidal monads
- Kock
- 1972
(Show Context)
Citation Context ...ed (but it may not exists) by T and the cartesian structure on C, when C has enough points, i.e. if f; g: A ! B, then f = g /! (8h: 1 ! A:h; f = h; g). The diagrams above are not new, they are all in =-=[Koc70b]-=-, where a one-one correspondence is established between functorial and tensorial strengths 6 : ffl the first two diagrams, saying that t is a tensorial strength of T , are (1.7) and (1.8) in [Koc70b].... |

45 | Continuity and Effectiveness in Topoi - Rosolini - 1986 |

42 | Monads on symmetric monoidal closed categories - Kock - 1970 |

42 |
The Lazy Lambda Calculus: An Investigation into the Foundations of Functional Programming
- Ong
- 1988
(Show Context)
Citation Context ... for the untyped -calculus is a reflexive object D Ds= D in a cartesian closed category (see [Sco80, Bar82]). In asc -model there are two analogs for a reflexive object: V V T = V and N TN T = N (see =-=[Ong88]-=- for similar definitions in the context of partial cartesian closed categories). In the first case we have a model of call-by-value. In fact the elements of V correspond to functions from values to co... |

42 |
The theory of constructions: categorical semantics and topostheoretic models
- Hyland, Pitts
- 1987
(Show Context)
Citation Context ...e 2-category of C-enriched categories. The second explanation was suggested to us by G. Plotkin, and takes as fundamental structure a class D of display maps over C, which models dependent types (see =-=[2]-=-), and induces a C-indexed category C=D . Then a strong monad over a category C withsnite products amounts to a monad over C=D in the 2-category of C-indexed categories, where D is the class ofsrst pr... |

38 | A type theoretical alternative to - Scott - 1969 |

34 | Partial objects in constructive type theory - Constable, Smith - 1987 |

30 | The Partial Lambda Calculus
- Moggi
- 1988
(Show Context)
Citation Context ...rphisms are not adequate for relatingsc -models, because the natural transformation oe cannot be extended to functional types. Instead, one can use a notion of logical relation betweensc -models (see =-=[Mog88]-=- for various notions of logical relation betweensp -models). 4 Thesc -calculus In this section we present a formal system, thesc -calculus, based on many sorted intuitionistic logic with two atomic pr... |

26 | Programming, transforming, and proving with function abstractions and memories - Mason, Talcott - 1989 |

24 |
A type discipline for program modules
- Harper, Milner, et al.
- 1987
(Show Context)
Citation Context ... 1 and e 2 exist and they are equivalent, which can be safely used at compile time to check whether two program units share a common component, as required for checking a sharing constrain in ML (see =-=[HMT87]-=-). While up to now the correctness of a type-checking has to be proved by looking at the details of the operational semantics. Acknowledgements My thanks to M. Hyland, A. Kock (and other participants ... |

21 |
Relating theories of the -calculus
- Scott
- 1980
(Show Context)
Citation Context ...ilar to PP (see [GMW79]) for proving equivalence and existence of programs, which is sound and complete w.r.t. the categorical semantics of computations. The methodology outlined above is inspired by =-=[Sco80] 2 , in pa-=-rticular the view that "category theory comes, logically, before the -calculus"led us to consider a categorical semantics of computations first, rather than trying to hack directly on the ru... |

20 | Computational foundations of basic recursive function theory - Constable, Smith - 1993 |

20 |
Edinburgh LCF: a Mechanized Logic of Computation, volume 78 of LNCS
- Gordon, Milner, et al.
- 1979
(Show Context)
Citation Context ...es to computations (previous work by category-theorists is particularly useful here). At the end we get a formal system, the computational lambda-calculus ( c -calculus for short), similar to PP (see =-=[GMW79]-=-) for proving equivalence and existence of programs, which is sound and complete w.r.t. the categorical semantics of computations. The methodology outlined above is inspired by [Sco80] 2 , in particul... |

18 | Bilinearity and cartesian closed monads - Kock - 1971 |

16 | Continuity and E#ectivity in Topoi - Rosolini - 1986 |

15 |
Relating theories of the λ-calculus
- Scott
- 1980
(Show Context)
Citation Context ...r to P P λ (see [GMW79]) for proving equivalence and existence of programs, which is sound and complete w.r.t. the categorical semantics of computations. The methodology outlined above is inspired by =-=[Sco80]-=- 2 , in particular the view that “category theory comes, logically, before the λ-calculus”led us to consider a categorical semantics of computations first, rather than trying to hack directly on the r... |

12 | Verification of programs that destructively manipulate data - Mason - 1988 |

10 | Categories of partial morphisms and the partial lambda-calculus - MOGGI - 1986 |

6 | Partial objects in constructive type theory - Constable, Smith - 1987 |

6 |
Syntactic Aspects of the Non-deterministic Lambda Calculus
- Sharma
- 1984
(Show Context)
Citation Context ...o75] for call-by-value and call-by-name operational equivalence. This approach was later extended, following a similar methodology, to consider other features of computations like nondeterminism (see =-=[Sha84]-=-) and sideeffects (see [FFKD86, MT89]). The calculi based only on operational considerations, like thesv -calculus, are sound and complete w.r.t. the operational semantics, i.e. a program M has a valu... |

2 | The lambda calculus and its models - Barendregt - 1982 |