When Monads and Comonads Overlap
- đ¤ Speaker: Dominic Orchard, Computer Lab
- đ Date & Time: Friday 20 May 2011, 15:00 - 16:00
- đ Venue: FW11, Computer Laboratory
Abstract
The category theory structures of monads, and their dual comonads, can be used in semantics and programming as abstraction mechanisms, or essentially as design patterns. Monads provide abstraction, or structure, over a class of computations with a common pattern which includes many impure notions of computation. Comonads provide abstraction over another class of computations which includes many contextual notions of computation. Interestingly, these two classes appear non-mutually exclusive: there are some computations that can be structured by either a monad or a comonad. For example, parameter passing can be structured by a reader monad or product comonad. In this talk we formalise the class of computations which is at the intersection between those structured by a monad and those structured by a comonad. Furthermore, using monads/comonads as a design pattern, we show how to derive a more appropriate structure when a particular monad or comonad abstraction falls short of capturing all aspects of a computation and examine how to chose between using a monad or a comonad when designing a program. Examples include the Wadge’s monadic semantics for the Lucid dataflow language vs. Uustalu and Vene’s comonadic approach ten years later.
Series This talk is part of the Computer Laboratory Programming Research Group Seminar series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge talks
- Computer Laboratory Programming Research Group Seminar
- Department of Computer Science and Technology talks and seminars
- FW11, Computer Laboratory
- Interested Talks
- School of Technology
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Friday 20 May 2011, 15:00-16:00