Ls4va7fxyegbgclo08pf
SkillsCast

Supermonads: One Notion to Bind Them All

11th October 2018 in London at CodeNode

There are 38 other SkillsCasts available from Haskell eXchange 2018

Please log in to watch this conference skillscast.

Https s3.amazonaws.com prod.tracker2 resource 41088130 skillsmatter conference skillscast o9nohu

Several popular generalizations of monads have been implemented in Haskell. Unfortunately, because the shape of the associated type constructors do not match the standard Haskell monad interface, each such implementation provides its own type class and versions of associated library functions. Furthermore, simultaneous use of different monadic notions can be cumbersome as it in general is necessary to be explicit about which notion is used where.

Supermonads to the rescue! The supermonad abstraction captures several different generalisations of monads and come with a version of the standard library of monadic functions that work uniformly with all of them.

As standard Haskell type inference does not work for supermonads, our implementation is accompanied with a language extension, in the form of a plugin for the Glasgow Haskell Compiler (GHC), that addresses this problem thus making supermonads as easy to use as standard monads, even when several different generalizations are in use at once. During this talk, you will learn what supermonads are, how they are realised in Haskell, and illustrate how they can be used in some practical examples.

YOU MAY ALSO LIKE:

Thanks to our sponsors

Supermonads: One Notion to Bind Them All

Henrik Nilsson

Dr. Henrik Nilsson is a Lecturer at the School of Computer Science, University of Nottingham. He holds a PhD in Computer Science from Linköping University, Sweden. His topic was debugging techniques and tools for lazy functional languages. Prior to taking up his current post, Dr. Nilsson held a position as Associate Research Scientist at the Department of Computer Science, Yale University, working mainly on Functional Reactive Programming with Prof. Paul Hudak. Dr. Nilsson's current research interests include functional programming, reactive programming, domain-specific languages for modelling and simulation, and unified notions of effectful computation.

SkillsCast

Please log in to watch this conference skillscast.

Https s3.amazonaws.com prod.tracker2 resource 41088130 skillsmatter conference skillscast o9nohu

Several popular generalizations of monads have been implemented in Haskell. Unfortunately, because the shape of the associated type constructors do not match the standard Haskell monad interface, each such implementation provides its own type class and versions of associated library functions. Furthermore, simultaneous use of different monadic notions can be cumbersome as it in general is necessary to be explicit about which notion is used where.

Supermonads to the rescue! The supermonad abstraction captures several different generalisations of monads and come with a version of the standard library of monadic functions that work uniformly with all of them.

As standard Haskell type inference does not work for supermonads, our implementation is accompanied with a language extension, in the form of a plugin for the Glasgow Haskell Compiler (GHC), that addresses this problem thus making supermonads as easy to use as standard monads, even when several different generalizations are in use at once. During this talk, you will learn what supermonads are, how they are realised in Haskell, and illustrate how they can be used in some practical examples.

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

Supermonads: One Notion to Bind Them All

Henrik Nilsson

Dr. Henrik Nilsson is a Lecturer at the School of Computer Science, University of Nottingham. He holds a PhD in Computer Science from Linköping University, Sweden. His topic was debugging techniques and tools for lazy functional languages. Prior to taking up his current post, Dr. Nilsson held a position as Associate Research Scientist at the Department of Computer Science, Yale University, working mainly on Functional Reactive Programming with Prof. Paul Hudak. Dr. Nilsson's current research interests include functional programming, reactive programming, domain-specific languages for modelling and simulation, and unified notions of effectful computation.

Photos