## Notions of Computation and Monads (1989)

### Cached

### Download Links

- [www.disi.unige.it]
- [www.disi.unige.it]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.cs.cornell.edu]
- [www.cs.cornell.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Information and Computation |

Citations: | 742 - 15 self |

### BibTeX

@ARTICLE{Moggi89notionsof,

author = {Eugenio Moggi},

title = {Notions of Computation and Monads},

journal = {Information and Computation},

year = {1989},

volume = {93},

pages = {55--92}

}

### Years of Citing Articles

### OpenURL

### Abstract

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.

### Citations

484 |
Categories for the Working Mathematician
- MacLane
- 1971
(Show Context)
Citation Context ... the literature on Category Theory and have the advantage of being dened only in terms of funtors and natural transformations, which make them more suitable for abstract manipulation. Denition 1.5 ([Mac71]) A monad over a category C is a triple (T ; ; ), where T : C ! C is a functor, : Id C : ! T and : T 2 : ! T are natural transformations and the following diagrams commute: T 3 A TA > T 2 A TA ... |

450 | Computational Lambda-Calculus and Monads
- Moggi
- 1989
(Show Context)
Citation Context ...e that every pccc can be viewed as a c -model. By analogy with p-exponentials, a T -exponential can be dened by giving an isomorphism C T (C A; B) = C(C; (TB) A ) natural in C 2 C. We refer to [Mog=-=89-=-c] for the interpretation of a call-by-value programming language in a c -model and the corresponding formal system, the c -calculus. 4 Strong monads over a topos In this section we show that, as fa... |

382 | Basic concepts of enriched category theory
- Kelly
- 1982
(Show Context)
Citation Context ...sms r A : (1 A) ! A ; A;B;C : (A B) C ! A (B C) Remark 3.3 The diagrams above are taken from [Koc72], where a characterisation of strong monads is given in terms of C-enriched categories (see [Kel82=-=]-=-). Kocksxes a commutative monoidal closed category C (in particular a cartesian closed category), and in this setup he establishes a one-one correspondence between strengths st A;B : B A ! (TB) TA and... |

333 | Denotational Semantics, A Methodology for Language Development", W.C.Brown - Schmidt - 1988 |

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. The denotational approach gives an interpretation of the (programming) language in a mathematical structure, the intended... |

204 |
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. • The denotational approach gives an interpretation of the (programming) language in a mathematical structure, the intended... |

193 | Toposes, Triples and Theories
- Barr, Wells
- 1985
(Show Context)
Citation Context ...tive extension of PL (or c PL). Lemma 4.5 If (T ; ; ) is a monad over a topos C satisfying the mono requirement, then it satises also the equalising requirement. Proof See Lemma 6 on page 110 of [BW85]. In other words, for any type the axiom (eqls.) is derivable in HML T from the set of axioms f(mono.)j type of HML T g. In general, when C is not a topos, the mono requirement does not entail t... |

172 |
The category-theoretic solution of recursive domain equations
- Smyth, Plotkin
- 1982
(Show Context)
Citation Context ...ory at the heart of Denotational Semantics, i.e. Domain Theory (see [GS89, Mos89]), has focused on the mathematical structures for giving semantics to recursive denitions of types and functions (see [=-=SP82]-=-), while other structures, that might be relevant to a better understanding of programming languages, have been overlooked. This paper identify one of such structures, i.e. monads , but probably there... |

167 |
An abstract view of programming languages
- Moggi
- 1989
(Show Context)
Citation Context ...9b] we give a categorical account of phase distinction and program modules, that could lead to the introduction of higher order modules in programming languages like ADA or ML (see [HMM90]), while in =-=[Mog89a] we p-=-ropose a \modular approach" to Denotational Semantics based on the idea of monad-constructor (i.e. an endofunctor on the category of monads over a category C). The metalanguage open also the poss... |

153 | Semantic domains - Gunter, Scott - 1990 |

153 | action semantics - Mosses, Watt, et al. - 1993 |

141 |
Introduction to Higher-Order Categorical Logic
- Lambek, Scott
- 1986
(Show Context)
Citation Context ...A ` x: A f x: A ` e 1 : A 1 x: A ` f(e 1 ): A 2 f: A 1 ! A 2 eq x: A 1 ` e 1 : A 2 x: A 1 ` e 2 : A 2 x: A 1 ` e 1 =A2 e 2 2 The uniqueness of x s.t. e = [x] T follows from the mono requirement. 3 In =-=[LS86]-=- a stronger relation is sought between theories and categories with additional structure, namely an equivalence between the category of theories and translations and the category of small categories w... |

138 | Higher-order modules and the phase distinction
- Harper, Mitchell, et al.
- 1990
(Show Context)
Citation Context ...e. Indeed, in [Mog89b] we give a categorical account of phase distinction and program modules, that could lead to the introduction of higher order modules in programming languages like ADA or ML (see =-=[HMM90]), wh-=-ile in [Mog89a] we propose a \modular approach" to Denotational Semantics based on the idea of monad-constructor (i.e. an endofunctor on the category of monads over a category C). The metalanguag... |

127 |
The formal theory of monads
- Street
- 1972
(Show Context)
Citation Context ...(F; T op ; ^ TF )s ^ D( ^ TF; ^ TF ) _ ^ C(F; op ; ^ TF ) ^ C(F; S op ; ^ TF ) > ^ D( ^ SF; ^ TF ) Moreover, Y: : ! ^ is a 2-natural transformation. Since monads are a 2-categorical concept (see [St=-=r72-=-]), the 2-functor ^ maps monads in Cat to monads in CAT. Then, the statement of Theorem 4.9 about lifting of monads follows immediately from Proposition 4.11. It remains to dene the lifting ^ t of a t... |

105 | Linear logic, *-autonomous categories and cofree coalgebras - Seely - 1987 |

93 | The linear abstract machine - Lafont - 1988 |

71 | Edinburgh LCF: A Mechanized Logic - Gordon, Milner, et al. |

58 | Reasoning with continuations - FELLEISEN, FRIEDMAN, et al. - 1986 |

49 |
Strong functors and monoidal monads
- Kock
- 1972
(Show Context)
Citation Context ...B @ @ @ A T 2 B t A;TB > T (A TB) T t A;B > T 2 (A B) where r and are the natural isomorphisms r A : (1 A) ! A ; A;B;C : (A B) C ! A (B C) Remark 3.3 The diagrams above are taken from [Koc72], where a characterisation of strong monads is given in terms of C-enriched categories (see [Kel82]). Kocksxes a commutative monoidal closed category C (in particular a cartesian closed category), and... |

48 | Identity and existence in intuitionistic logic - Scott - 1979 |

46 |
Continuity and Effectiveness in Topoi
- Rosolini
- 1986
(Show Context)
Citation Context ... the restriction of the functor T to objects and f ∗ = (T f); µB for f: A → T B. Remark 1.7 In general the categorical semantics of partial maps, based on a category C equipped with a dominion M (see =-=[Ros86]-=-), cannot be reformulated in terms of a Kleisli triple over C satisfying some additional properties, unless C has lifting, i.e. the inclusion functor from C into the category of partial maps P(C, M) h... |

43 |
The Theory of Constructions: categorical semantics and topos theoretic models
- Hyland, Pitts
- 1987
(Show Context)
Citation Context .... Then a strong monad over a cartesian closed category C is just a monad over C in the 2-category of C-enriched categories. The second characterisation takes a class D of display maps over C (used in =-=[HP87-=-] to model dependent types), and denes 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 ... |

41 |
First Order Categorical Logic
- Makkai, Reyes
- 1977
(Show Context)
Citation Context ...air hc; fi to c) and Colim A I : A I ! A (with I small category) is a functor mapping an I-diagram in A to its colimit. The following proposition is a 2-categorical reformulation of Theorem 1.3.10 of =-=[MR77]-=-. For the sake of simplicity, we use the strict notions of 2-functor and 2-natural transformation, although we should have used pseudo-functors and pseudo-natural transformations. Proposition 4.11 Let... |

39 |
A type theoretical alternative to
- Scott
- 1969
(Show Context)
Citation Context ...ased on the idea of monad-constructor (i.e. an endofunctor on the category of monads over a category C). The metalanguage open also the possibility to develop a new Logic of Computable Functions (see =-=[Sco69-=-]), based on an abstract semantic of computations rather than domain theory, for studying axiomatically dierent notions of computation and their relations. Some recent work by Crole and Pitts (see [CP... |

38 | A syntactic theory of sequential state - Felleisen, Friedman - 1989 |

36 |
First-order Categorical Logic
- Makkai, Reyes
- 1977
(Show Context)
Citation Context ...tegory F(T ) with additional structure such that there is a one-one correspondence between models of T in a category C with additional structure and structure preserving functors from F(T ) to C (see =-=[KR77-=-]) 3 . This identication was originally proposed by Lawvere, who also showed that algebraic theories can be viewed as categories withsnite products. In Section 2.2 we give a class of theories that can... |

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

32 |
Denotational semantics with partial functions. Unpublished lecture notes
- Plotkin
- 1985
(Show Context)
Citation Context ...ations presented in this paper has been strongly in uenced by the reformulation of Denotational Semantics based on the category of cpos, possibly without bottom, and partial continuous functions (see =-=[Plo85]-=-) and the work on categories of partial morphisms in [Ros86, Mog86]. Our work generalises the categorical account of partiality to other notions of computations, indeed partial cartesian closed catego... |

31 | The partial lambda calculus - Moggi - 1988 |

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

23 |
Algebraic Theories, Volume 26 of Graduate Texts in Mathematics
- Manes
- 1976
(Show Context)
Citation Context ...ormal argumentations, that such a requirement amounts to say that T is part of a Kleisli triple (T ; ; ) and that the category of programs is the Kleisli category for such a triple. Denition 1.2 ([Man76]) A Kleisli triple over a category C is a triple (T ; ; ), where T : Obj(C) ! Obj(C), A : A ! TA for A 2 Obj(C), f : TA ! TB for f : A ! TB and the following equations hold: A = id TA A... |

23 | A category-theoretic account of program modules
- Moggi
- 1989
(Show Context)
Citation Context ...G. Plotkin, in terms of C-indexed categories (see [JP78]). Both characterisations are instances of a general methodological principle for studying programming languages (or logics) categorically (see =-=[Mog89b-=-]): when studying a complex language the 2-category Cat of small categories, functors and natural transformations may not be adequate; however, one may replace Cat with a dierent 2-category, whose obj... |

21 | Computational foundations of basic recursive function theory - Constable, Smith - 1988 |

21 |
Relating theories of the -calculus
- Scott
- 1980
(Show Context)
Citation Context ...e -calculus. 4. We show that w.l.o.g. one may consider only (monads over) toposes, and we exploit this fact to establish conservative extension results. The methodology outlined above is inspired by [=-=Sco80] 1 -=-, and it is followed in [Ros86, Mog86] to obtain the p -calculus. The view that \category theory comes, logically, before the -calculus"led us to consider a categorical semantics of computations... |

20 | The logic of topoi - Fourman - 1977 |

17 |
Relating theories of the λ-calculus
- Scott
- 1980
(Show Context)
Citation Context ...e λ-calculus. 4. We show that w.l.o.g. one may consider only (monads over) toposes, and we exploit this fact to establish conservative extension results. The methodology outlined above is inspired by =-=[Sco80]-=- 1 , and it is followed in [Ros86, Mog86] to obtain the λp-calculus. The view that “category theory comes, logically, before the λ-calculus”led us to consider a categorical semantics of computations f... |

17 | Algebraic Theories, Graduate Texts - Manes - 1976 |

16 |
Continuity and E#ectivity in Topoi
- Rosolini
- 1986
(Show Context)
Citation Context ... the restriction of the functor T to objects and f = (Tf ); B for f : A ! TB. Remark 1.7 In general the categorical semantics of partial maps, based on a category C equipped with a dominion M (see [R=-=os86]-=-), cannot be reformulated in terms of a Kleisli triple over C satisfying some additional properties, unless C has lifting , i.e. the inclusion functor from C into the category of partial maps P(C; M) ... |

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

12 | New Foundations for Fixpoint Computations
- Crole, Pitts
- 1990
(Show Context)
Citation Context ...9]), based on an abstract semantic of computations rather than domain theory, for studying axiomatically different notions of computation and their relations. Some recent work by Crole and Pitts (see =-=[CP90]-=-) has consider an extension of the metalanguage equipped with a logic for inductive predicates, which goes beyond equational reasoning. A more ambitious goal would be to try exploiting the capabilitie... |

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

9 | 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
(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 =-=[Sha8-=-4]), side-eects and continuations (see [FFKD86, FF89]). The calculi based only on operational considerations, like the v -calculus, are sound and complete w.r.t. the operational semantics, i.e. a pro... |

5 | Strong functors and monoidal - Kock - 1972 |

5 | Identity and existence in intuitionistic logic, in Applications of sheaves (Proc. Res. Sympos. Appl. Sheaf Theory to Logic, Algebra and Anal - Scott - 1977 |

4 | Toposes, triples and theories, Springer-Verlag - Barr, Wells - 1985 |

3 |
Indexed categories and their applications
- Johnstone, Paré
- 1978
(Show Context)
Citation Context ...re enriched in the obvious way (see Remark 1.4 in [Koc72]). There is another purely categorical characterisation of strong monads, suggested to us by G. Plotkin, in terms of C-indexed categories (see =-=[JP78]-=-). Both characterisations are instances of a general methodological principle for studying programming languages (or logics) categorically (see [Mog89b]): when studying a complex language the 2-catego... |

2 |
New foundations for computations
- Crole, Pitts
- 1990
(Show Context)
Citation Context ...69]), based on an abstract semantic of computations rather than domain theory, for studying axiomatically dierent notions of computation and their relations. Some recent work by Crole and Pitts (see [=-=CP90]-=-) has consider an extension of the metalanguage equipped with a logic for inductive predicates, which goes beyond equational reasoning. A more ambitious goal would be to try exploiting the capabilitie... |

1 | New foundations for tixpoint computations - CROLE, PITTS - 1990 |

1 | Higher-order modules and the phase distinction - J, MOGGI - 1990 |