Haskell in Leipzig 2017 opened its gates for everyone interested in Haskell and generally functional programming. Expect a great day of talks, tutorials, and a performance with a focus on FRP, followed by a Hackathon. Register early and get your ticket at a reduced rate. Looking forward to meeting you in Leipzig. Continue reading
Haskell in Leipzig 2017 submission deadline ahead
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
Haskell in Leipzig 2017 submission deadline shifted
We have shifted the submission deadline of Haskell in Leipzig 2017 by two weeks. The new deadline is at August 18, 2017. Looking forward to your contributions. 😉 Continue reading
Haskell in Leipzig 2017 seeking contributions
Haskell in Leipzig (HaL) is taking place again from October 26 to October 28, 2017 at HTWK Leipzig. If you have any interesting Haskellrelated material to share, please consider submitting an extended abstract. Continue reading
Grapefruit now compatible with GHC 7.10.3
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.
Yet another Grapefruit update
Today, I updated the Grapefruit FRP library once again. The main improvements are as follows:

Grapefruit is now compatible with GHC 8.0.1.

The GTK+ UI backend of Grapefruit uses GTK+ 3 now. Continue reading
Generic programming in Haskell
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
Constrained monads
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 constrainedmonad 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 ConstrainedMonad Problem and implemented in the constrainednormal package. Continue reading
MIU in Curry
More than two years ago, my colleague Denis Firsov and I gave a series of three Theory Lunch talks about the MIU string rewriting system from Douglas Hofstadter’s MU puzzle. The first talk was about a Haskell implementation of MIU, the second talk was an introduction to the functional logic programming language Curry, and the third talk was about a Curry implementation of MIU. The blog articles MIU in Haskell and A taste of Curry are writeups of the first two talks. However, a writeup of the third talk has never seen the light of day so far. This is changed with this article. Continue reading
Grapefruit updated
Yesterday, I updated the Grapefruit FRP library once again, this time to make it compatible with GHC 7.8. Continue reading