Monday, August 2, 2010

State of Haskell, 2010 survey

Inspired by the State of Clojure survey by Chas Emerick I’ve created a quick, 9-question State of Haskell survey, using Google Spreadsheets. The survey will hopefully give us some insight into how people use Haskell and perhaps also some ideas on how Haskell tools and libraries could be improved.

The results from this survey are now available.


  1. No option for "I've never used it" or "I don't even know what Haskell is"

  2. Might have been useful, but I wanted to survey the state of the Haskell community so having tried Haskell is a prerequisite.

  3. Thanks for doing this. One problem - I used lots of languages immediately prior to haskell, and have continued to do so since, so didn't understand the 6th question.

  4. I considered making the question a multi-choice one, and perhaps I should have, but I tried to make people commit to one to get a better idea where people come from. For example, I everyone picks e.g. Java and Python it's hard to say if we're attracting Java programmers who dabble in Python or Python programmers who dabble in Java.

  5. (If you haven't done so) I think you should post it on StackOverflow.

  6. Not really any options for "I used Haskell in the past, but (for some reason) I'm not using it now." Questions/options for this case would help see how Haskell is losing users.

  7. Seeing how Haskell is losing users would be interesting. I'll try to include such a question next time I run the survey.

  8. There are no options for "Standard ML," "Mozart/Oz," or "Alice ML" in the list of languages under the question "If Haskell disappeared tomorrow, what language(s) might you use as a 'replacement'?"

    Although these languages are not used often in industry these days, and have relatively few users, they can have interesting applications for the study of functional programming.

  9. Feel free to add them as "Other". I'll try to clean the data after the survey is done to include some more languages people picked in the "Other" section. You can write several languages there if you separate them by a comma.

  10. There is only one option for "Smalltalk" in the list of languages under the question "If Haskell disappeared tomorrow, what language(s) might you use as a 'replacement'?" However, Smalltalk comprises a set of programming languages, some of which are commonly known by their own names, separately from "Smalltalk."

    For example, Squeak is a dialect of Smalltalk which is occasionally used in education and which forms the basis for such tools as Croquet and Open Cobalt, and which is significantly different from both Cincom Smalltalk and GNU Smalltalk. Most users just refer to it as "Squeak."

    Also, Racket is a programming language descended from PLT Scheme, which used to be a dialect of Scheme, but which is arguably metamorphosing into something which is no longer Scheme. (Some participants on the Scheme Working Group 1 Mailing List (devoted to coming up with a list of features compatible with R5RS Scheme for the upcoming R7RS Scheme) do not even consider Racket a dialect of Scheme at all (because of Racket's default immutable lists, but that is another issue).)

    Squeak and Racket are arguably significantly different from related languages to merit their own entries. Squeak is not commonly known as "Smalltalk," and Racket is no longer truly a dialect of Scheme.

  11. I tried to send this request in e-mail, but was unable to find your e-mail address, so I am posting it as a comment.

    For my records, I would like to keep a list of my responses to the State of Haskell, 2010 Survey; however, I neglected to save a copy of my textual responses to the following two questions:

    What do you think is Haskell's most glaring weakness / blind spot / problem?

    General Comments?

    While I can duplicate my other responses, my responses to the above-mentioned two questions are too long and detailed for me to remember.

    Could you please send me a copy of my textual responses to the above two questions to the following name/e-mail address as soon as possible?

    Name: Benjamin L. Russell
    E-mail Address: DekuDekuplex at

    Your cooperation would be greatly appreciated.

  12. Benjamin, the survey results are anonymized; the submitter's name is not stored. However, when the survey is over I'll make the raw data public, so you should be able to find your submission in the raw data. I expect to make the data public in a few days when I post the results.

  13. I just realized that; however, I need to begin working on a translation project tonight, and need the data from the fields in order to close my browser to speed up my computer, by first storing the Web pages of the survey together with the contents of the fields in chronological order as a set of bookmark collections and chronologically indexed HTML pages (I keep separate collections of both, and index them by time/date stamp).

    Because my laptop is slow (I bought it in 2003), I need to close my browser in order to work on the translation project, but in order to close my browser, I need to save the bookmark collections chronologically indexed so as to correspond to the Web pages in a separate folder, and I was planning manually to fill out the fields of an RTFD file corresponding to the questionnaire HTML page using the text from my comments.

    If I wait until you send the data, then I cannot safely close the browser window, because I just discovered that the "Thanks" acknowledgement page ( which appears after the questionnaire is submitted requires that the form be filled out and submitted in order to appear. Once you close the survey, then I cannot get this page to appear together with the survey page in the same bookmark collection, which I want to store with the same time/date stamp.

    There should be only one set of data which includes references to both the "Haskell-Cafe" and "Squeak-dev" mailing lists in both the "What do you think is Haskell's most glaring weakness / blind spot / problem?" and "General Comments? " fields. It should be dated "August 3, 2010" at approximately 5:58 AM.

    Could you please take just a few minutes to look up and send the data for those two fields?

  14. Benjamin, I found your comments and sent them to you via email.

  15. Thank you very much, and sorry for the trouble! I just received your message and confirmed that those were indeed my comments. Now I can cite those comments in my various future Haskell-related posts and articles, and my bookmark collection and RTFD files can be synchronized for future reference.