Change 21584

Time Attribute with previous and current values
Change #21584
2013-06-17
12:02:30

update Calagator::Event 1250464400 Galois Tech Talk: The Constrained-Monad Problem Roll back

description Presented by Neil Sculthorpe. In Haskell, there are many data types that would form monads were it not for the presence of type-class constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types cannot use. This talk will demonstrate that a monadic computation can be restructured into a normal form such that the standard monad class can be used. The technique is not specific to monads --- it can also be applied to other structures, such as applicative functors. One significant use case for this technique is Domain Specific Languages, where it is often desirable to compile a deep embedding of a computation to some other language, which requires restricting the types that can appear in that computation. Presented by Neil Sculthorpe. In Haskell, there are many data types that would form monads were it not for the presence of type-class constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types cannot use. This talk will demonstrate that a monadic computation can be restructured into a normal form such that the standard monad class can be used. The technique is not specific to monads --- it can also be applied to other structures, such as applicative functors. One significant use case for this technique is Domain Specific Languages, where it is often desirable to compile a deep embedding of a computation to some other language, which requires restricting the types that can appear in that computation.
locked nil false
url https://corp.galois.com/blog/2013/6/17/tech-talk-the-constrained-monad-problem.html http://corp.galois.com/blog/2013/6/17/tech-talk-the-constrained-monad-problem.html