cpkg is now live on Hackage. It is a good deal less polished than I'd originally wanted, but it already gives impressive results (among them cross-compiling XMonad).
The "obvious" way to write a monadic zygomorphism is to look at the definition for an ordinary zygomorphism, namely
I read a recent Functional Pearl by Hinze and this inspired me to write up an example of projective programming and its motivation in logic/model theory.
This post was inspired by a curious
uncurry more common in Haskell code?
Though it does not often get mentioned in the Haskell community, simply
bumping to a new version of GHC can drastically improve the performance of your
code. Here, I have several examples from my
package, which will hopefully give an idea of just how much work has gone into
optimizing code produced by GHC.