Category Archives: haskell

Diagrams 0.6

I am pleased to announce the release of version 0.6 of diagrams, a full-featured framework and embedded domain-specific language for declarative drawing. Check out the gallery for examples of what it can do! Highlights of this release include: Diagrams now … Continue reading

Posted in diagrams, haskell, projects | Tagged , , , | 6 Comments

foldr is made of monoids

> import Data.Monoid In his recent blog post What is foldr made of?, Tom Ellis made the clever observation that foldr is equivalent in power to the combination of map and compose, where > compose :: [a -> a] -> … Continue reading

Posted in haskell, math | Tagged , , , , | 15 Comments

Using multiple versions of GHC in parallel with GNU stow

Do any of the following apply to you? You sometimes hack on GHC. You sometimes want to try out an unreleased GHC version. You maintain a library and want to make sure it builds with several different versions of GHC. … Continue reading

Posted in haskell | Tagged , , , | 10 Comments

Creating documents with embedded diagrams

If you read my recent post about type algebra, you may have wondered how I got all those nice images in there. Surely creating the images and then inserting them into the post by hand would be rather tedious! Indeed, … Continue reading

Posted in diagrams, haskell, projects, writing | Tagged , , , , , , , , , | 11 Comments

BlogLiterately 0.5.2 release, with improved image uploading

Just a quick note to say that I’ve just released version 0.5.2 of BlogLiterately. (For more information about what it does, see what I’ve written about previous releases here and here, and the documentation.) The new version keeps track of … Continue reading

Posted in haskell, writing | Tagged , , | Leave a comment

Identifying outdated packages in cabal install plans

Every time I build a Haskell package—whether using cabal or cabal-dev, whether something from Hackage or a development version of my own package—I always do a –dry-run first, and inspect the install plan to make sure it looks reasonable. I’m … Continue reading

Posted in haskell | Tagged , , , , , | 7 Comments

Monads: Easy or Hard?

Executive summary: they are actually both (or neither). It is easy to learn their definition but hard to grasp the consequences. Or we might say they are easy to know and hard to understand (grok). It is vitally important for … Continue reading

Posted in haskell, learning, teaching | Tagged , , , | 4 Comments