Embedding effect systems in Haskell
- ๐ค Speaker: Dominic Orchard (University of Cambridge)
- ๐ Date & Time: Friday 29 August 2014, 14:00 - 15:00
- ๐ Venue: SS03
Abstract
Monads are now an everyday tool in functional programming for abstracting and delimiting effects. The link between monads and effect systems is well-known, but monads provide a much more coarse-grained view of effects. Whilst effect systems capture fine-grained information about the effects, monads provide only a binary view: effectful or pure.
Recent theoretical work has unified fine-grained effect systems with monads using a monad-like structure indexed by a monoid of effect annotations (called parametric effect monads). This aligns the power of monads with the power of effect systems.
This paper leverages recent advances in Haskell’s type system (as provided by GHC ) to embed this approach in Haskell, providing user-programmable effect systems. We explore a number of practical examples that make Haskell even better and safer for effectful programming. Along the way, we relate the examples to other concepts, such as Haskell’s implicit parameters and coeffects.
This a practise talk for the Haskell symposium at ICFP . This is joint work with Tomas Petricek.
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
- Interested Talks
- School of Technology
- SS03
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Friday 29 August 2014, 14:00-15:00