|COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring.|
When Monads and Comonads Overlap
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.
This talk is included in these lists:
Note that ex-directory lists are not shown.
Other listsNanoDTC Energy Materials Talks Cambridge Carbon Footprint Cambridge Public Policy
Other talksVibrating cables & flapping flags: classical fluid-solid instabilities or energy sources ? The problem of working memory: How does the brain keep information in mind? Images of Care and Dying with Profs Jane Maher, Bill Noble & Emma Wilson Starting Companies can be bad for your Health but good for Animals A Novel Bioinspired Variable Stiffness Design Concept - Bridging the gap between Soft and Traditional Robotics How can you trust formally verified software?