Joachim Breitner

Real World Haskell Applications

Published 2013-07-16 in sections English, Haskell.

Today I held a lightning talk at the Karlsruhe Functional Programmer’s Group, where I presented “Real World Haskell” applications, i.e. programs that are written in Haskell, are somewhat mature and well-known and have non-programmers as their target group. Here is the (surely subjective) list that I have come up (also see the slides):

  • darcs (since 2002, 35 000 loc): Distributed version control system with an innovative focus on changes instead of states.
  • xmonad (since 2007, 30000 loc): Well known tiling window manager with a huge library of layout and other plugins. Made it into the list despite its configuration file being a Haskell file.
  • hledger (since 2007, 9000 loc): Text-file based double-ledger accounting tool, a clone of ledger.
  • Raincat (since 2008, 2000 loc): Platform game with a cat that does not want to get wet.
  • arbtt (since 2009, 2000 loc): My automatic rule-based time tracker. Made it into the list as a shameless plug; probably not that popular. It has now a proper web page contributed by Waldir Pimenta.
  • detexify (since 2010, 500 loc): The back end of the very useful LaTeX character command finder is written in Haskell.
  • git-annex (since 2010, 28 000 loc): Manages your files and their location, a mixture of dropbox and git. Written by famous Joey Hess, who made a living from it via kickstarter He is currently running a second round of funding!
  • Nikki and the Robots (since 2010, 18 000 loc): Platform game with Nikki and, well, his robots. It was produced as a commercial independent game and sold via a pay-what-you-like scheme, but the company unfortunately closed down.
  • hoodle (since 2011, 13 000 loc): A note-taking and PDF annotation software like xournal.
  • Chordify (since 2012, ? loc): Analyses music, e.g. from a YouTube video, and calculates the corresponding guitar chords. Closed software, but supposedly written in Haskell.

There is also an impressive list of industrial users that use Haskell without talking about it much, but that does not work well to show off that you can do any kind of application in Haskell.

If I missed anything important, let me know!

Comments

Hedgewars.
#1 Anonymous am 2013-07-17
Qualifies, but obviously only the server part, and therefore is not that impressive.
#2 Joachim Breitner (Homepage) am 2013-07-17
HarmTrace and chordify: http://ismir2012.ismir.net/event/papers/lbd2.pdf
#3 gene tani am 2013-07-17
(A decent part of) GHC?
#4 Alp (Homepage) am 2013-07-17
GHC does not qualify, as it is a tool for programmers. Otherwise it is of course *the* example for a large Haskell application.
#5 Joachim Breitner (Homepage) am 2013-07-17
I would add Pandoc to the list.
#6 edgar am 2013-07-17
#1: Haskell, not Pascal :)

I would also add Pandoc.
#7 Anonymous am 2013-07-17
The cluster usage balancing tools of the ganeti cluster manager are written in haskell.
#8 Karsten am 2013-07-17
Nice, thank you.
#9 Joachim Breitner (Homepage) am 2013-07-17
I've got one that is targetted at non-haskell users, and mature as things go, but probably not very well-known:
Apelsin: http://ojeling.net/apelsin/

It's a server browser with clan support for the open source games Tremulous and Unvanquished.
#10 Entro (Homepage) am 2013-07-17
MusicBrainz (musicbrainz.org) are using Haskell in some of our production services in order to move away from Perl - http://hackage.haskell.org/package/musicbrainz-email
#11 Oliver Charles (Homepage) am 2013-07-17
I believe that Pandoc has much more users than some of the applications listed here.
I was also introduced to Gitit, a wiki on DVCS, before learning that it uses Haskell (and Pandoc).

Here are the 5 main packages implemented in Haskell, for Debian's popularity contest:
525 xmonad
323 git-annex
248 pandoc
212 darcs
176 cabal-install
#12 Pandoc lover am 2013-07-17
Does https://bazqux.com/ qualify?
#13 Jeff am 2013-07-17
Only if we start adding all other web applications that have a backend written in Haskell.

Given Chrodify is mentioned here, BazQux should most certainly be mentioned too.
#14 nagi (Homepage) am 2013-07-17

Have something to say? You can post a comment by sending an e-Mail to me at <mail@joachim-breitner.de>, and I will include it here.