Thursday, 14 August 2008

Haskell's virginity

The most popular open source project ever written in Haskell, the Darcs code management system, is being dropped by Darcs' only significant user base, the developers of the defacto-standard Haskell Compiler GHC.

The developers of GHC cited poor stability and poor performance (their benchmark results found Darcs to be up to 50× slower than its competitors at core operations). They currently intend to migrate GHC to the Git version control software, which is written in C. Even software written in Python (Mercurial) was also considered because it is so much faster than Darcs.

This led us to revisit the subject of Haskell's popularity and track record. We had reviewed Haskell last year in order to ascertain its commercial viability when we were looking to diversify into other functional languages. Our preliminary results suggested that Haskell was one of the most suitable functional languages but this recent news has brought that into question.

Our latest research produced the following statistics regarding the number of installs on Ubuntu and Debian of the most popular programs written in OCaml and Haskell along with their source code size:













NameInstallsLines of codeLanguage
FFTW184,57414,298OCaml
Unison12,86623,993OCaml
MLDonkey7,286171,332OCaml
Darcs4,36524,937
Haskell
Free Tennis4,0667,419OCaml
Planets4,0573,296OCaml
HPodder3,4652,225Haskell
LEdit2,9652,048OCaml
Hevea2,82211,596OCaml
Polygen2,6571,331OCaml

This equates to:

  • 221,293 installs of popular OCaml software compared to only 7,830 of Haskell.
  • 235,312 lines of well-tested OCaml code compared to only 27,162 lines of well-tested Haskell code.

Our OCaml products, particularly OCaml for Scientists and The OCaml Journal, have proven that OCaml is one of the few commercially-viable functional programming languages. These remarkable new figures show that Haskell is still a virgin language: despite a huge number of open source projects being started in Haskell, virtually none reach maturity and the vast majority of those never garner a significant user base (i.e. they remain untested). Only Darcs and HPodder ever became popular but the most popular, Darcs, has turned out to be too difficult to fix and optimize even by expert Haskell programmers.

Our conclusion is, of course, that we are not going to consider diversifying into the Haskell market, at least not until it matures. Right now, Scala is looking much more viable.

6 comments:

Yawar Amin said...
This comment has been removed by the author.
Yawar Amin said...

Have you revisited this question since 2008? The question of Haskell use in industry is pretty much resolved, I think: http://www.haskell.org/haskellwiki/Haskell_in_industry

Jon Harrop said...

@Yawar: Yes, I have revisited this question since 2008. Alp Mestan prompted me to survey the Haskell in Industry page in June of this year and, while there was a slight improvement, that page is still full of fakes. I tweeted about it at the time...

Three years on and the Industrial Haskell Group has failed to garner a single new member from industry. That alone shows how few people are putting their money where their mouth is.

Here are some specifics from the current Haskell in Industry page:

Starling Software and Tsuru are both one person (Curt Sampson). Curt does a lot of great work and loves Haskell but listing him as two separate companies is excessive.

Credit Suisse is still listed but they actually just maintain Lennart Augustsson's old Haskell code and Ganesh Sittampalam told me they have long since stopped developing anything new in Haskell (they use F# now). Standard Chartered is listed but, again, this is little more than Neil Mitchell and Lennart Augustsson.

iPwn Studios is a fake. Founded in 2009, they haven't shipped anything, their lead developer Stephen Blackheath lists his real employer on LinkedIn as Ingenitech and their company blog now consists of one post from each of 5 people. Last I looked, that blog had been stale for 2 years (2009-2011).

Ansemond are still listed there but, as I said in 2008, their blog stated that there was "no Haskell" in their product.

Haskell at Barclays Capital was Simon Frankau who has since shipped the work he was doing in Haskell internally within that bank and I've heard that it went down well. So that is now a credible success story for Haskell.

People keep saying that Google use Haskell but, last I looked, that was just one person (Johan Tibell).

The Haskell in Industry page listed Anygma for 2 years after they went bankrupt even though they never had any intention of using Haskell in production.

bCODE was Erik de Castro Lopo until he left this year. Haskell at Qualcomm is probably the same (one) guy.

Bu.mp haven't mentioned Haskell on their blog for over a year.

Circos Brand Karma was Edmund Lam but he long since went back into academia as a post-doc researcher.

Detexify is listed as a company using Haskell but it is actually just an open source tool.

Haskell at Deutsche Bank is probably just Jeff Polakow.

Haskell at Ericsson appears to have been a research project with publications from 2009-2011. http://feldspar.inf.elte.hu/

Funktionale Programmierung is Heinrich Hördegen. No products, 3 consultancy contracts since 2006.

Gamr7 shut down earlier this year having never shipped a single product.

HApps LLC is Jeremy Shaw who actually works for a music studio...

Jon Harrop said...

...IVU Traffic Technologies AG was Michael Marte but he seems to have been quiet about Haskell since 2008.

"Informatik Consulting Systems AG" is about an academic research project by Martin Sulzmann.

Linspire disappeared in 2008.

The MITRE corporation is a non-profit so it is not in industry.

The National Radio Astronomy Observatory are also obviously not in industry.

Openomy is just another OSS project, not a company selling products and/or services for profit.

Oblomov don't seem to earn profit from products or services. They just have a one app on the AppStore and its free.

Patch-tag also don't sell any products. And darcs is dead anyway.

After 4 years, Peerium still don't seem to be selling anything.

NICTA is another research institute, not in industry.

Oblomov is Martijn Schrage who does have a recommendation on LinkedIn from a real client, the Dutch Judiciary. That's real consultancy so a credible success story for Haskell.

RENCI wrote about Haskell once, in 2009.

Signali Corp were spun off from Galois in 2008. Looks real. http://www.signalicorp.com/partners.htm

Cannot tell if Tabula are really using Haskell. Tupil are real though.

SilkApp are still using Haskell but they are "in the investment phase".

Sensor Sense and NS Solutions still exist but no idea if they're still using Haskell.

Bluespec and Galois are credible success stories. Bluespec sell tools that really are written in Haskell. Galois survive on a single long-term contract for the US military.

IBA Consulting looks like a real example of Haskell in Industry and its new to me. http://www.iba-cg.de/hal7.html

So there are a handful of credible success stories buried in that huge pile of fakes.

Yawar Amin said...

Fair enough. The wiki page is out of date. Let's look at a few others. First though, here's (PDF of talk by Don Stewart) some evidence for Haskell use in Standard Chartered Bank. Look at p. 3: `● Financial pricing and risk tools for wide range of asset
classes and financial products at SCB ● Used by traders across the globe, acround the clock'. I'd say that's significant.

The next question is, we're talking about Haskell use in industry right? Because to me, a startup looking for investment is just as much `industry' as a revenue-generating business. So, let's not invalidate SilkApp from the get-go. They're not academia and they're not open source. And for that matter, we're considering various Haskell uses within larger organisations, right? Because while we can find plenty of evidence of that, understandably not everyone has built an entire front-facing product entirely in Haskell.

Here are some people talking about what they're doing with Haskell. Granted, the posts are about a year old, but that doesn't invalidate the work that was done.

Here's some evidence of Haskell used internally in Facebook, Google (Johan Tibell not mentioned anywhere), and others.

Here the founder of Scrive (who's building a completely Haskell-based e-signature product) is curious about his industry peers. Someone mentions MailRank (which, OK, it was acquired by Facebook. But companies churning in the industry is still industry activity. And being acquired by Facebook might be taken to mean they were doing something right).

Let's not forget Yesod, which is getting people familiar with the idea that Haskell can be a better, type-safe, Ruby for web development.

Then there are the consultancies. I'm not going to do a Google search because anyone can do that, but even five minutes of browsing around will get you to FP Complete and Well-Typed.

Jon Harrop said...

"by Don Stewart". You're citing sensationalistic nonsense. He says "1000s of libraries" but is referring to the huge amount of junk on Hackage. He says "Projects with 1M lines of code" but I've never heard of any single Haskell project within 10x that size. He says "projects with 100+ developers" but I doubt there are 100 Haskell developers in industry worldwide. He describes Haskell as "An unsurpassed technology" but there is clearly no evidence of that.

"some evidence for Haskell use in Standard Chartered Bank". Yes, Neil Mitchell and Lennart Augustsson. We already covered them.

"we're talking about Haskell use in industry right? Because to me, a startup looking for investment is just as much `industry' as a revenue-generating business". Industry is the sales of products and/or services for profit. There have been dozens of Haskell startups over the years just like the ones you see today. Most of them never earn profit from sales and disappear. Some are sustained at low cost by other means.

"not everyone has built an entire front-facing product entirely in Haskell". Indeed, there are a tiny number of front-facing products built in Haskell.

"Here are some people talking about what they're doing with Haskell. Granted, the posts are about a year old, but that doesn't invalidate the work that was done". Galois, JanRain and Bump were already listed. You'll have to look into the others but I'll wager most are fakes. AFAIK, Well Typed is funded entirely by Microsoft Research and they list consultants like Ian Lynagh who list themselves on LinkedIn as full-time Microsoft employees.

"Here's some evidence of Haskell used internally in Facebook, Google (Johan Tibell not mentioned anywhere), and others". You are drawing conclusions before examining the evidence properly. Your secondary source, Berek, cites a primary source (a former intern at Google Switzerland called Iustin Pop who worked with Johan Tibell) who clearly states in that very paper that their "entire Haskell code-base was trivial at this point (roughly 1500 lines of code, including comments)". Yet your secondary source claims "these can be considered relatively big tools or programs" which is clearly pure fantasy before he refers readers to the Haskell in Industry page which is, similarly, mostly fantasy.

Scrive is a good example.

"Let's not forget Yesod, which is getting people familiar with the idea that Haskell can be a better, type-safe, Ruby for web development". Is Yesod commercial?

"Then there are the consultancies. I'm not going to do a Google search because anyone can do that, but even five minutes of browsing around will get you to FP Complete and Well-Typed". Has either ever sold any products or services to a genuine third party?