University of Cambridge > Talks.cam > Computer Laboratory Programming Research Group Seminar > When Monads and Comonads Overlap

When Monads and Comonads Overlap

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Dominic Orchard.

Note unusual time and room.

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.

This talk is part of the Computer Laboratory Programming Research Group Seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2024 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity