A question in compiler design is: what optimizations should a given compiler perform? Optimizations for functional languages in particular are not well-known; it is not obvious which optimizations will provide the greatest speedup on user code.
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
The totient function is defined for positive integers as:
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.next