Let me remind you that the submission deadline of Haskell in Leipzig 2017 is this Friday. We seek abstracts of about 2 pages length on anything related to Haskell. Looking forward to your contributions. 😉 Continue reading
It turned out that Grapefruit 0.1.0.6 could not be built with GHC 7.10.3, apparently because of a bug in the compiler. Now a new version of Grapefruit, version 0.1.0.7, is out, which works around this problem.
Generic programming is a powerful way to define a function that works in an analogous way for a class of types. In this article, I describe the latest approach to generic programming that is implemented in GHC. This approach goes back to the paper A Generic Deriving Mechanism for Haskell by José Pedro Magalhães, Atze Dijkstra, Johan Jeuring, and Andres Löh. Continue reading
There are Haskell types that have an associated monad structure, but cannot be made instances of the
Monad class. The reason is typically that the return or the bind operation of such a type
m has a constraint on the type parameter of
m. As a result, all the nice library support for monads is unusable for such types. This problem is called the constrained-monad problem.
In my article The
Constraint kind, I described a solution to this problem, which involved changing the
Monad class. In this article, I present a solution that works with the standard
Monad class. This solution has been developed by Neil Sculthorpe, Jan Bracker, George Giorgidze, and Andy Gill. It is described in their paper The Constrained-Monad Problem and implemented in the constrained-normal package. Continue reading