2 citations found. Retrieving documents...
Wadler, P.L. Notes on Monads and Ringads. Internal document, Computing Science Dept. Glasgow University (September 1990).

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Towards a Theory of Bulk Types - Watt, Trinder (1991)   (13 citations)  (Correct)

....to be manipulated, but allow only empty and singleton collections to be constructed (by empty and single, respectively) To construct larger collections, an operation Phi is required. A Phi can be added to the monad in a consistent manner, and the resulting structure has been termed a ringad [22]. A ringad is defined to be a monad (collection; single; iter) together with a pair ( Phi; empty) such that: ffl empty is a unit of Phi; ffl (x:empty) is a zero of the monad; ffl iter distributes rightward through Phi, i.e. iter f (c Phi c 0 ) iter f c) Phi (iter f c 0 ) It is easy ....

....(y1, z1, z2) else empty ) r1 ) r2 fun project12 r = map (fn (x, y,z) x,y) r fun project13 r = map (fn (x, y,z) x,z) r fun project23 r = map (fn (x, y,z) y,z) r end ( Relation ) Appendix B: Monads and Ringads B. 1 Kleisli Monads This description of monads is closely based on [22], although the monad functions have been renamed. In the following, functions may be subscripted with their type, e.g. id is the identity function on type . Function composition is denoted by ffi, i.e. f ffi g)x = f (g x) A Kleisli monad is a triple (collection; single; iter) consisting ....

Wadler, P.L. Notes on Monads and Ringads. Internal document, Computing Science Dept. Glasgow University (September 1990).


Comprehensions, a Query Notation for DBPLs - Trinder (1990)   (23 citations)  (Correct)

....of the application programmer s world is reduced if a single query notation can be defined over several, or all, bulk types. Comprehensions are just such a uniform notation because they can be defined over any type that is a ringad, i.e. that has four functions which satisfy certain algebraic laws [30, 31]. Sets, relations, bags, lists, some finite maps and some trees are all ringads. However, some useful bulk types are not ringads, for example trees with data at internal nodes. It is also not known whether some other bulk types, such as graph, form a ringad. For concreteness this paper initially ....

....of comprehensions in a coherent form. Malcolm Atkinson and David Watt also made useful comments on the work. Discussions with Phil Wadler helped in applying his work on Monads to bulk types. Appendix A: Monads and Ringads A. 1 Kleisli Monads This description of monads is closely based on [31], although the monad functions have been renamed. In the following, functions may be subscripted with their type, e.g. id is the identity function on type . Function composition is denoted by ffi, i.e. f ffi g)x = f (g x) A Kleisli monad is a triple (collection; single; iter) consisting ....

Wadler, P.L. Notes on Monads and Ringads. Internal document, Computing Science Dept. Glasgow University (September 1990).

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC