BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//talks.cam.ac.uk//v3//EN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:DAYLIGHT
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:BST
DTSTART:19700329T010000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
TZNAME:GMT
DTSTART:19701025T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CATEGORIES:Computer Laboratory Programming Research Group Sem
inar
SUMMARY:When Monads and Comonads Overlap - Dominic Orchard
\, Computer Lab
DTSTART;TZID=Europe/London:20110520T150000
DTEND;TZID=Europe/London:20110520T160000
UID:TALK31165AThttp://talks.cam.ac.uk
URL:http://talks.cam.ac.uk/talk/index/31165
DESCRIPTION:The category theory structures of monads\, and the
ir dual comonads\, can be used in semantics and pr
ogramming as abstraction mechanisms\, or essential
ly as design patterns. Monads provide abstraction\
, or structure\, over a class of computations with
a common pattern which includes many impure notio
ns of computation. Comonads provide abstraction ov
er another class of computations which includes ma
ny contextual notions of computation. Interestingl
y\, these two classes appear non-mutually\nexclusi
ve: there are some computations that can be struct
ured by either a monad or a comonad. For example\,
parameter passing can be structured by a reader m
onad or product comonad. In this talk we formalise
the class of computations which is at the interse
ction between those structured by a monad and thos
e structured\nby a comonad. Furthermore\, using mo
nads/comonads as a design pattern\, we show how to
derive a more appropriate structure when a partic
ular monad or comonad abstraction falls short of c
apturing all aspects of a computation and examine
how to chose between using a monad or a comonad wh
en designing a program. Examples include the Wadge
's monadic semantics for the Lucid dataflow langua
ge vs. Uustalu and Vene's comonadic approach ten y
ears later.\n
LOCATION:FW11\, Computer Laboratory
CONTACT:Dominic Orchard
END:VEVENT
END:VCALENDAR