This is probably mostly out of date. There’s a couple of hundred packages on Hackage that I wrote. But I don’t maintain these anymore and they’re part of the Haskell community/libraries effort.

Most of the software I’ve written or contributed significant code towards. Almost all of these are installable with “cabal install“. The bigger applications, like xmonad or yi, are probably in your distro of choice.

I was a founding member of the infrastructure team for the Haskell Platform, and 2011 chair of I stepped down from those duties in around 2012.


  • nano-md5: Efficient, ByteString bindings to OpenSSL




  • diffcabal: Diff two cabal files semantically
  • ghc-core: Display GHC’s core and assembly output in a pager
  • ghc-gc-tune: Analyze the impact of GC flags on performance.
  • ghc-events-stream: parse the binary event stream from ghc
  • ghc-monitor: proof of concept web-app for monitoring a remote Haskell process
  • loch: Support for precise error locations in source files
  • mkcabal: Generate cabal files for a Haskell project
  • nobench: benchmark suite for a Haskell compiler
  • typeof: Small script for inferring types
  • yi: a text editor written and extensible in Haskell
  • vacuum-cairo: a cairo frontend to vacuum, allowing interactive data visualization in ghci


  • archlinux: Haskell interface to Arch Linux package infrastructure. Generates this table.
  • cabal2arch: Create Arch Linux packages from Cabal packages
  • cabalgraph: Generate pretty graphs of module trees from cabal files
  • lscabal: List exported modules from a set of .cabal files
  • darcs-graph: Generate graphs of darcs repository activity
  • hackage-sparks: Generate sparkline graphs of hackage statistics
  • hackage2hwn: Convert Hackage RSS feeds to wiki format
  • hackage-plot: Generate cumulative graphs of hackage uploads
  • archnews: Convert Arch Linux package updates in RSS to pretty markdown

Formal Methods:

  • yices-painless: a typed embedded domain-specific language for SMT solving


  • printxosd: Simple tool to display some text on an on-screen display
  • scaleimage: Scale an image to a new geometry
  • testpattern: Display a monitor test pattern
  • xosd: A binding to the X on-screen display
  • x11: A binding to the X11 graphics library
  • hscurses: NCurses bindings for Haskell
  • nanocurses: Simple Curses binding
  • repa-devil: Read and write images in many formats as 3D arrays


  • cmath: A binding to the standard C math library
  • mersenne-random-pure64: Generate high quality pseudorandom numbers purely
  • mersenne-random: Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister
  • statistics-fusion: High performance, minimal statistics package using stream fusion


  • download-curl: High-level file download based on URLs
  • download: High-level file download based on URLs
  • gravatar: Find the url of the gravatar associated with an email address
  • lambdabot: Lambdabot is a development tool and advanced IRC bot
  • rss2irc: Subscribe to an RSS feed and write it to an IRC channel
  • urlcheck: Parallel link checker



  • bytestring-mmap: mmap support for strict ByteStrings
  • cpuperf: Modify the cpu frequency on OpenBSD systems
  • h4sh: expose Haskell list functions to the shell
  • hs-plugins: Dynamic linking for Haskell and C objects
  • hsclock: packaging of standard cairo analogue clock
  • goa: GHCi with extensions
  • pony: Can I have a pony?
  • xmonad: A tiling window manager
  • xmonad-contrib: Third party extensions for xmonad
  • riot:  Riot is an Information Organisation Tool
  • randomgen: A fast, SMP parallel random data generator


  • pcre-light: A small, efficient and portable regex library for Perl 5 regexen
  • liboleg: A collection of Oleg Kiselyov’s Haskell modules


  • pqc: Parallel batch driver for QuickCheck


  • json:Support for serialising Haskell to and from JSON
  • hpaste: An online pastebin, written in Haskell

Here’s a graph of parts of the Haskell library namespace I’ve contributed to (generated by cabalgraph):

One thought on “Software

  1. Hi Don,

    I am very interested in trying out your h4sh haskell work, but have been having trouble trying to install it via the darcs repo that the h4sh page points to. It seems to be depending on fps which appears to be deprecated.

    Do you have a more up-to-date copy/ is it still being maintained / have i missed something?

    Thanks in advance for your help.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s