BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Evaluation strategies for monadic computations - Tomas Petricek (U
 niversity of Cambridge)
DTSTART:20120302T151500Z
DTEND:20120302T161500Z
UID:TALK36105@talks.cam.ac.uk
CONTACT:Dominic Orchard
DESCRIPTION:Monads have become a powerful tool for structuring effectful c
 omputations in functional programming\, because they make the order of eff
 ects explicit. When translating pure code to a monadic version\, we need t
 o specify evaluation order explicitly. This requires us to choose between 
 call-by-value or call-by-name style. The two translations give programs wi
 th different semantics\, structure and also different types.\n\nIn this ta
 lk\, we translate pure code to monadic using an additional operation malia
 s that abstracts out the evaluation strategy. The malias operation is base
 d on computational comonads\; we use a categorical framework to specify th
 e laws that are required to hold about the operation.\n\nWe show two imple
 mentations of malias for any monad that give call-by-value and call-by-nam
 e semantics. Although we do not give call-by-need semantics for any monad\
 , we show how to turn any monad into an extended monad with call-by-need s
 emantics\, which partly answers a standing open question. Moreover\, using
  our unified translation\, it is possible to change the evaluation strateg
 y of functional code translated to the monadic form without changing its s
 tructure or types.
LOCATION:SS03\, Computer Laboratory
END:VEVENT
END:VCALENDAR
