The 2018 state of Haskell survey opened at the start of November and closed a few days ago.
It was the second annual state of Haskell survey.
This year the survey was co-sponsored by Haskell Weekly and Haskell.org.
Last year the 2017 state of Haskell survey received 1,335 responses.
This year we received almost four times as many.
However a large number of the responses appeared to be submitted by a script.
Of the 5,096 responses, 3,735 were identified as problematic and removed from the result set.
That left 1,361 legitimate responses, which compares favorably to last year, especially when you consider that this year’s survey was much longer.
To everyone that participated in the survey:
Thank you!
You feedback is hugely valuable.
I am extremely disappointed that someone decided to submit thousands of bogus survey responses.
Apparently they wanted to tip the scales on a few divisive issues in the community.
Fortunately their attack was not very sophisticated, so it was easy to identify and ignore their responses.
(This function shows you exactly how the problematic responses were identified.)
Even so, it has two profoundly negative impacts:
One, it casts doubt on the survey responses as a whole;
and two, it means that I’ll have to devote time to countering attacks like this in future surveys.
That being said, I have confidence in the filtered survey results and I hope you do too.
This post will graph the answers to the multiple-choice questions.
I will not attempt to summarize the answers to free-response questions.
I encourage any interested parties to download the raw results, do their own analysis, and share their results.
You can download the anonymized responses as a CSV, which is licensed under the ODbL 1.0 license.
# Submission date ^

| Answer | Count | Percent |
| 2018-11-01 | 513 | 37.7% |
| 2018-11-02 | 310 | 22.8% |
| 2018-11-03 | 118 | 8.7% |
| 2018-11-04 | 75 | 5.5% |
| 2018-11-05 | 63 | 4.6% |
| 2018-11-06 | 56 | 4.1% |
| 2018-11-07 | 32 | 2.4% |
| 2018-11-08 | 44 | 3.2% |
| 2018-11-09 | 22 | 1.6% |
| 2018-11-10 | 12 | 0.9% |
| 2018-11-11 | 16 | 1.2% |
| 2018-11-12 | 28 | 2.1% |
| 2018-11-13 | 35 | 2.6% |
| 2018-11-14 | 37 | 2.7% |
# Haskell usage ^

| Answer | Count | Percent |
| 1 heart | 4 | 0.3% |
| 2 hearts | 1 | 0.1% |
| 3 hearts | 4 | 0.3% |
| 4 hearts | 4 | 0.3% |
| 5 hearts | 35 | 2.6% |
| 6 hearts | 16 | 1.2% |
| 7 hearts | 40 | 2.9% |
| 8 hearts | 84 | 6.2% |
| 9 hearts | 55 | 4.0% |
| 10 hearts | 501 | 36.8% |
# Do you use Haskell? (single select) ^

| Answer | Count | Percent |
| Yes | 1202 | 88.3% |
| No, but I used to | 103 | 7.6% |
| No, I never have | 45 | 3.3% |
# If you stopped using Haskell, how long did you use it before you stopped? (single select) ^

| Answer | Count | Percent |
| Less than 1 day | 6 | 0.4% |
| 1 day to 1 week | 11 | 0.8% |
| 1 week to 1 month | 20 | 1.5% |
| 1 month to 1 year | 66 | 4.8% |
| More than 1 year | 53 | 3.9% |
# If you do not use Haskell, why not? (multiple select) ^

| Answer | Count | Percent |
| My company doesn't use Haskell | 89 | 6.5% |
| Haskell is too hard to learn | 44 | 3.2% |
| Haskell's documentation is not good enough | 35 | 2.6% |
| Haskell lacks critical tools | 31 | 2.3% |
| Haskell lacks critical libraries | 30 | 2.2% |
| Haskell does not support the platforms I need | 12 | 0.9% |
| Haskell's performance is not good enough | 12 | 0.9% |
| Haskell lacks critical features | 8 | 0.6% |
# How long have you been using Haskell? (single select) ^

| Answer | Count | Percent |
| Less than 1 day | 3 | 0.2% |
| 1 day to 1 week | 7 | 0.5% |
| 1 week to 1 month | 35 | 2.6% |
| 1 month to 1 year | 219 | 16.1% |
| 1 year to 2 years | 234 | 17.2% |
| 2 years to 3 years | 213 | 15.7% |
| 3 years to 4 years | 147 | 10.8% |
| 4 years to 5 years | 112 | 8.2% |
| More than 5 years | 330 | 24.2% |
# How frequently do you use Haskell? (single select) ^

| Answer | Count | Percent |
| Daily | 490 | 36.0% |
| Weekly | 422 | 31.0% |
| Monthly | 249 | 18.3% |
| Yearly | 58 | 4.3% |
| Rarely | 80 | 5.9% |
# How would you rate your proficiency in Haskell? (single select) ^

| Answer | Count | Percent |
| Beginner | 247 | 18.1% |
| Intermediate | 533 | 39.2% |
| Advanced | 354 | 26.0% |
| Expert | 167 | 12.3% |
| Master | 28 | 2.1% |
# Where do you use Haskell? (multiple select) ^

| Answer | Count | Percent |
| Home | 1077 | 79.1% |
| Work | 666 | 48.9% |
| School | 153 | 11.2% |
# Do you use Haskell at work? (single select) ^

| Answer | Count | Percent |
| Yes, most of the time | 389 | 28.6% |
| Yes, some of the time | 318 | 23.4% |
| No, but my company does | 20 | 1.5% |
| No | 558 | 41.0% |
# If you do not use Haskell at work, why not? (multiple select) ^

| Answer | Count | Percent |
| My company doesn't use Haskell | 438 | 32.2% |
| Haskell is too hard to learn | 76 | 5.6% |
| It is too hard to hire Haskell developers | 72 | 5.3% |
| Haskell lacks critical libraries | 48 | 3.5% |
| Haskell lacks critical tools | 41 | 3.0% |
| Haskell does not support the platforms I need | 33 | 2.4% |
| Haskell's documentation is not good enough | 31 | 2.3% |
| Haskell's performance is not good enough | 12 | 0.9% |
| Haskell lacks critical features | 8 | 0.6% |
# Which programming languages other than Haskell are you fluent in? (multiple select) ^

| Answer | Count | Percent |
| Python | 659 | 48.4% |
| JavaScript | 599 | 44.0% |
| Java | 550 | 40.4% |
| C | 512 | 37.6% |
| C++ | 394 | 28.9% |
| Shell | 320 | 23.5% |
| C# | 203 | 14.9% |
| Scala | 198 | 14.5% |
| Ruby | 174 | 12.8% |
| Rust | 158 | 11.6% |
| TypeScript | 146 | 10.7% |
| PHP | 142 | 10.4% |
| Go | 110 | 8.1% |
| Clojure | 93 | 6.8% |
| Assembly | 90 | 6.6% |
| Ocaml | 87 | 6.4% |
| Perl | 83 | 6.1% |
| R | 65 | 4.8% |
| Lua | 64 | 4.7% |
| F# | 64 | 4.7% |
| Erlang | 63 | 4.6% |
| Matlab | 50 | 3.7% |
| Objective-C | 47 | 3.5% |
| Swift | 46 | 3.4% |
| Kotlin | 46 | 3.4% |
| Groovy | 21 | 1.5% |
| VB.NET | 20 | 1.5% |
| VBA | 15 | 1.1% |
| Julia | 9 | 0.7% |
| Hack | 5 | 0.4% |
# Which types of software do you develop with Haskell? (multiple select) ^

| Answer | Count | Percent |
| Command-line programs (CLI) | 684 | 50.3% |
| API services (returning non-HTML) | 532 | 39.1% |
| Data processing | 437 | 32.1% |
| Libraries or frameworks | 433 | 31.8% |
| Web services (returning HTML) | 371 | 27.3% |
| Automation or scripts | 358 | 26.3% |
| Agents or daemons | 219 | 16.1% |
| Desktop programs (GUI) | 108 | 7.9% |
# Which industries do you use Haskell in? (multiple select) ^

| Answer | Count | Percent |
| Web | 329 | 24.2% |
| Banking or finance | 185 | 13.6% |
| Education | 184 | 13.5% |
| Commerce or retail | 127 | 9.3% |
| Gaming | 59 | 4.3% |
| Healthcare or medical | 43 | 3.2% |
| Government | 35 | 2.6% |
| Embedded | 33 | 2.4% |
| Mobile | 32 | 2.4% |
# Projects ^

| Answer | Count | Percent |
| 1 heart | 5 | 0.4% |
| 2 hearts | 0 | 0.0% |
| 3 hearts | 4 | 0.3% |
| 4 hearts | 13 | 1.0% |
| 5 hearts | 28 | 2.1% |
| 6 hearts | 40 | 2.9% |
| 7 hearts | 78 | 5.7% |
| 8 hearts | 115 | 8.4% |
| 9 hearts | 76 | 5.6% |
| 10 hearts | 356 | 26.2% |
# How many Haskell projects do you contribute to? (single select) ^

| Answer | Count | Percent |
| 0 | 432 | 31.7% |
| 1 | 168 | 12.3% |
| 2 to 5 | 484 | 35.6% |
| 6 to 10 | 94 | 6.9% |
| 11 to 20 | 34 | 2.5% |
| More than 20 | 32 | 2.4% |
# What is the total size of all the Haskell projects you contribute to? (single select) ^

| Answer | Count | Percent |
| Less than 1,000 lines of code | 207 | 15.2% |
| 1,000 lines of code to 9,999 lines of code | 311 | 22.9% |
| 10,000 lines of code to 99,999 lines of code | 252 | 18.5% |
| 100,000 or more lines of code | 115 | 8.4% |
# Which platforms do you develop Haskell on? (multiple select) ^

| Answer | Count | Percent |
| Linux | 1003 | 73.7% |
| MacOS | 496 | 36.4% |
| Windows | 209 | 15.4% |
| BSD | 44 | 3.2% |
# Which platforms do you target? (multiple select) ^

| Answer | Count | Percent |
| Linux | 1075 | 79.0% |
| MacOS | 399 | 29.3% |
| Windows | 314 | 23.1% |
| BSD | 80 | 5.9% |
| Android | 38 | 2.8% |
| iOS | 33 | 2.4% |
# Compilers ^

| Answer | Count | Percent |
| 1 heart | 4 | 0.3% |
| 2 hearts | 1 | 0.1% |
| 3 hearts | 3 | 0.2% |
| 4 hearts | 9 | 0.7% |
| 5 hearts | 25 | 1.8% |
| 6 hearts | 41 | 3.0% |
| 7 hearts | 50 | 3.7% |
| 8 hearts | 114 | 8.4% |
| 9 hearts | 80 | 5.9% |
| 10 hearts | 368 | 27.0% |
# Which Haskell compilers do you use? (multiple select) ^

| Answer | Count | Percent |
| GHC | 1296 | 95.2% |
| GHCJS | 131 | 9.6% |
| Eta | 37 | 2.7% |
# Which installation methods do you use for your Haskell compiler? (multiple select) ^

| Answer | Count | Percent |
| Stack | 916 | 67.3% |
| Nix | 299 | 22.0% |
| Operating system package | 277 | 20.4% |
| Haskell Platform | 153 | 11.2% |
| Official binaries | 149 | 10.9% |
| Source | 93 | 6.8% |
| Minimal installer | 35 | 2.6% |
# Has upgrading your Haskell compiler broken your code in the last year? (single select) ^

| Answer | Count | Percent |
| No | 736 | 54.1% |
| Yes | 437 | 32.1% |
# How has upgrading your Haskell compiler broken your code in the past year? (multiple select) ^

| Answer | Count | Percent |
| Incompatible dependencies | 247 | 18.1% |
| Expected changes, such as the MonadFail proposal | 225 | 16.5% |
| New warnings | 76 | 5.6% |
| Compiler bugs | 58 | 4.3% |
| Unexpected changes | 54 | 4.0% |
# Which versions of GHC do you use? ^

| Answer | Count | Percent |
| HEAD | 72 | 5.3% |
| 8.6.x | 329 | 24.2% |
| 8.4.x | 825 | 60.6% |
| 8.2.x | 318 | 23.4% |
| 8.0.x | 235 | 17.3% |
| 7.10.x | 78 | 5.7% |
| 7.8.x | 25 | 1.8% |
| 7.6.x | 7 | 0.5% |
| 7.4.x | 6 | 0.4% |
| 7.2.x | 2 | 0.1% |
| 7.0.x | 3 | 0.2% |
# How do you feel about the new GHC release schedule? (single select) ^

| Answer | Count | Percent |
| I like it | 533 | 39.2% |
| I am indifferent | 361 | 26.5% |
| I dislike it | 50 | 3.7% |
| I was not aware of it | 210 | 15.4% |
# Which GHC language extensions would you like to be enabled by default? (multiple select) ^

| Answer | Count | Percent |
| OverloadedStrings | 486 | 35.7% |
| LambdaCase | 327 | 24.0% |
| DeriveGeneric | 263 | 19.3% |
| DeriveFunctor | 260 | 19.1% |
| BangPatterns | 254 | 18.7% |
| ScopedTypeVariables | 254 | 18.7% |
| GADTs | 251 | 18.4% |
| FlexibleInstances | 223 | 16.4% |
| FlexibleContexts | 217 | 15.9% |
| DeriveFoldable | 192 | 14.1% |
| RankNTypes | 187 | 13.7% |
| TupleSections | 183 | 13.4% |
| MultiParamTypeClasses | 178 | 13.1% |
| GeneralisedNewtypeDeriving | 178 | 13.1% |
| DeriveTraversable | 171 | 12.6% |
| DataKinds | 144 | 10.6% |
| TypeApplications | 138 | 10.1% |
| TypeOperators | 136 | 10.0% |
| KindSignatures | 135 | 9.9% |
| TypeFamilies | 127 | 9.3% |
| ApplicativeDo | 122 | 9.0% |
| StandaloneDeriving | 117 | 8.6% |
| ConstraintKinds | 116 | 8.5% |
| DerivingVia | 116 | 8.5% |
| ViewPatterns | 113 | 8.3% |
| InstanceSigs | 113 | 8.3% |
| MultiWayIf | 111 | 8.2% |
| RecordWildCards | 110 | 8.1% |
| FunctionalDependencies | 101 | 7.4% |
| DeriveDataTypeable | 100 | 7.3% |
| EmptyCase | 92 | 6.8% |
| NamedFieldPuns | 87 | 6.4% |
| EmptyDataDecls | 83 | 6.1% |
| ExplicitForAll | 83 | 6.1% |
| DerivingStrategies | 76 | 5.6% |
| DeriveAnyClass | 74 | 5.4% |
| BinaryLiterals | 74 | 5.4% |
| DefaultSignatures | 69 | 5.1% |
| NumericUnderscores | 67 | 4.9% |
| PatternSynonyms | 64 | 4.7% |
| DuplicateRecordFields | 62 | 4.6% |
| ExistentialQuantification | 57 | 4.2% |
| OverloadedLists | 55 | 4.0% |
| PolyKinds | 54 | 4.0% |
| GADTSyntax | 54 | 4.0% |
| BlockArguments | 53 | 3.9% |
| NoImplicitPrelude | 53 | 3.9% |
| DeriveLift | 47 | 3.5% |
| PatternGuards | 42 | 3.1% |
| AutoDeriveTypeable | 39 | 2.9% |
| UnicodeSyntax | 38 | 2.8% |
| TypeSynonymInstances | 37 | 2.7% |
| PartialTypeSignatures | 36 | 2.6% |
| NoMonomorphismRestriction | 34 | 2.5% |
| TypeInType | 33 | 2.4% |
| TemplateHaskell | 31 | 2.3% |
| DisambiguateRecordFields | 30 | 2.2% |
| TypeFamilyDependencies | 29 | 2.1% |
| QuasiQuotes | 28 | 2.1% |
| RecordPuns | 25 | 1.8% |
| PackageImports | 24 | 1.8% |
| QuantifiedConstraints | 22 | 1.6% |
| AllowAmbiguousTypes | 22 | 1.6% |
| Arrows | 21 | 1.5% |
| EmptyDataDeriving | 21 | 1.5% |
| NamedWildCards | 20 | 1.5% |
| NegativeLiterals | 19 | 1.4% |
| ParallelListComp | 19 | 1.4% |
| DoAndIfThenElse | 19 | 1.4% |
| MonadComprehensions | 18 | 1.3% |
| OverloadedLabels | 18 | 1.3% |
| RecursiveDo | 17 | 1.2% |
| NumDecimals | 17 | 1.2% |
| NullaryTypeClasses | 17 | 1.2% |
| PatternSignatures | 16 | 1.2% |
| Rank2Types | 16 | 1.2% |
| ForeignFunctionInterface | 15 | 1.1% |
| UnboxedTuples | 15 | 1.1% |
| StarIsType | 14 | 1.0% |
| RoleAnnotations | 14 | 1.0% |
| MagicHash | 13 | 1.0% |
| LiberalTypeSynonyms | 13 | 1.0% |
| CPP | 12 | 0.9% |
| HexFloatLiterals | 12 | 0.9% |
| MonadFailDesugaring | 11 | 0.8% |
| StrictData | 11 | 0.8% |
| ExplicitNamespaces | 11 | 0.8% |
| UnboxedSums | 11 | 0.8% |
| UndecidableInstances | 10 | 0.7% |
| ImplicitParams | 9 | 0.7% |
| ConstrainedClassMethods | 9 | 0.7% |
| DoRec | 9 | 0.7% |
| OverlappingInstances | 8 | 0.6% |
| Strict | 7 | 0.5% |
| DatatypeContexts | 6 | 0.4% |
| CApiFFI | 6 | 0.4% |
| TransformListComp | 5 | 0.4% |
| TemplateHaskellQuotes | 5 | 0.4% |
| PolymorphicComponents | 5 | 0.4% |
| RelaxedPolyRec | 5 | 0.4% |
| ExtendedDefaultRules | 4 | 0.3% |
| PostfixOperators | 4 | 0.3% |
| NPlusKPatterns | 4 | 0.3% |
| ParallelArrays | 3 | 0.2% |
| ImpredicativeTypes | 3 | 0.2% |
| InterruptibleFFI | 3 | 0.2% |
| AlternativeLayoutRule | 2 | 0.1% |
| NoTraditionalRecordSyntax | 2 | 0.1% |
| RebindableSyntax | 2 | 0.1% |
| UnliftedFFITypes | 2 | 0.1% |
| UndecidableSuperClasses | 2 | 0.1% |
| RelaxedLayout | 2 | 0.1% |
| AlternativeLayoutRuleTransitional | 1 | 0.1% |
| MonoLocalBinds | 1 | 0.1% |
| JavaScriptFFI | 1 | 0.1% |
| GHCForeignImportPrim | 1 | 0.1% |
# How important do you feel it would be to have a new version of the Haskell standard? (single select) ^

| Answer | Count | Percent |
| Not at all important | 68 | 5.0% |
| Slightly important | 135 | 9.9% |
| Moderately important | 370 | 27.2% |
| Very important | 302 | 22.2% |
| Extremely important | 148 | 10.9% |
# Tooling ^

| Answer | Count | Percent |
| 1 heart | 4 | 0.3% |
| 2 hearts | 8 | 0.6% |
| 3 hearts | 1 | 0.1% |
| 4 hearts | 17 | 1.2% |
| 5 hearts | 28 | 2.1% |
| 6 hearts | 35 | 2.6% |
| 7 hearts | 70 | 5.1% |
| 8 hearts | 97 | 7.1% |
| 9 hearts | 81 | 6.0% |
| 10 hearts | 321 | 23.6% |
# Which build tools do you use for Haskell? (multiple select) ^

| Answer | Count | Percent |
| Stack | 995 | 73.1% |
| Cabal | 654 | 48.1% |
| Nix | 311 | 22.9% |
| Make | 106 | 7.8% |
| Shake | 75 | 5.5% |
| ghc-pkg | 69 | 5.1% |
| Bazel | 24 | 1.8% |
| Mafia | 13 | 1.0% |
# Which editors do you use for Haskell? (multiple select) ^

| Answer | Count | Percent |
| Emacs | 523 | 38.4% |
| Vi | 471 | 34.6% |
| Visual Studio Code | 329 | 24.2% |
| Atom | 112 | 8.2% |
| Sublime Text | 83 | 6.1% |
| IntelliJ IDEA | 62 | 4.6% |
| Notepad++ | 19 | 1.4% |
# Which version control systems do you use for Haskell? (multiple select) ^

| Answer | Count | Percent |
| Git | 1236 | 90.8% |
| Darcs | 42 | 3.1% |
| Mercurial | 29 | 2.1% |
| Subversion | 11 | 0.8% |
| Pijul | 10 | 0.7% |
| Fossil | 8 | 0.6% |
# Where do you get Haskell packages from? (multiple select) ^

| Answer | Count | Percent |
| Stackage | 867 | 63.7% |
| Hackage | 831 | 61.1% |
| Source | 305 | 22.4% |
| Nix | 273 | 20.1% |
# Which libraries do you use to test Haskell code? (multiple select) ^

| Answer | Count | Percent |
| QuickCheck | 696 | 51.1% |
| Hspec | 537 | 39.5% |
| HUnit | 333 | 24.5% |
| Tasty | 323 | 23.7% |
| Hedgehog | 162 | 11.9% |
| SmallCheck | 58 | 4.3% |
| Haskell Test Framework | 53 | 3.9% |
| LeanCheck | 4 | 0.3% |
# Which libraries do you use to benchmark Haskell code? (multiple select) ^

| Answer | Count | Percent |
| Criterion | 446 | 32.8% |
| Bench | 54 | 4.0% |
| Gauge | 34 | 2.5% |
# Infrastructure ^

| Answer | Count | Percent |
| 1 heart | 6 | 0.4% |
| 2 hearts | 5 | 0.4% |
| 3 hearts | 4 | 0.3% |
| 4 hearts | 7 | 0.5% |
| 5 hearts | 26 | 1.9% |
| 6 hearts | 33 | 2.4% |
| 7 hearts | 69 | 5.1% |
| 8 hearts | 107 | 7.9% |
| 9 hearts | 62 | 4.6% |
| 10 hearts | 309 | 22.7% |
# Which tools do you use to deploy Haskell applications? (multiple select) ^

| Answer | Count | Percent |
| Static binaries | 510 | 37.5% |
| Docker images | 402 | 29.5% |
| Dynamic binaries | 189 | 13.9% |
| Nix expressions | 183 | 13.4% |
# Where do you deploy Haskell applications? (multiple select) ^

| Answer | Count | Percent |
| Self or company owned servers | 504 | 37.0% |
| Amazon Web Services (AWS) | 328 | 24.1% |
| Google Cloud | 81 | 6.0% |
| Digital Ocean | 81 | 6.0% |
| Heroku | 53 | 3.9% |
| Microsoft Azure | 15 | 1.1% |
# Community ^

| Answer | Count | Percent |
| 1 heart | 2 | 0.1% |
| 2 hearts | 3 | 0.2% |
| 3 hearts | 5 | 0.4% |
| 4 hearts | 8 | 0.6% |
| 5 hearts | 22 | 1.6% |
| 6 hearts | 30 | 2.2% |
| 7 hearts | 52 | 3.8% |
| 8 hearts | 93 | 6.8% |
| 9 hearts | 68 | 5.0% |
| 10 hearts | 327 | 24.0% |
# Where do you interact with the Haskell community? (multiple select) ^

| Answer | Count | Percent |
| Reddit | 699 | 51.4% |
| GitHub | 590 | 43.4% |
| Twitter | 392 | 28.8% |
| IRC | 348 | 25.6% |
| Stack Overflow | 266 | 19.5% |
| Meetups | 250 | 18.4% |
| Mailing lists | 248 | 18.2% |
| Slack | 225 | 16.5% |
| Conferences (commercial) | 206 | 15.1% |
| Conferences (academic) | 157 | 11.5% |
| Discord | 110 | 8.1% |
| Gitter | 65 | 4.8% |
| Lobsters | 65 | 4.8% |
| Telegram | 42 | 3.1% |
| Mastodon | 27 | 2.0% |
| Matrix/Riot | 13 | 1.0% |
# Which of the following Haskell topics would you like to see more written about? (multiple select) ^

| Answer | Count | Percent |
| Best practices | 563 | 41.4% |
| Design patterns | 375 | 27.6% |
| Application architectures | 375 | 27.6% |
| Performance analysis | 312 | 22.9% |
| Library walkthroughs | 296 | 21.7% |
| Tooling choices | 271 | 19.9% |
| Debugging how-tos | 245 | 18.0% |
| Production infrastructure | 233 | 17.1% |
| Case studies | 213 | 15.7% |
| Web development | 189 | 13.9% |
| Algorithm implementations | 174 | 12.8% |
| GUIs | 163 | 12.0% |
| Beginner fundamentals | 156 | 11.5% |
| Machine learning | 156 | 11.5% |
| Project setup | 134 | 9.8% |
| Project maintenance | 125 | 9.2% |
| Game development | 123 | 9.0% |
| Mobile development | 93 | 6.8% |
| Comparisons to other languages | 60 | 4.4% |
# Feelings ^

| Answer | Count | Percent |
| 1 heart | 3 | 0.2% |
| 2 hearts | 1 | 0.1% |
| 3 hearts | 5 | 0.4% |
| 4 hearts | 9 | 0.7% |
| 5 hearts | 17 | 1.2% |
| 6 hearts | 36 | 2.6% |
| 7 hearts | 58 | 4.3% |
| 8 hearts | 96 | 7.1% |
| 9 hearts | 74 | 5.4% |
| 10 hearts | 342 | 25.1% |
# I feel welcome in the Haskell community. ^

| Answer | Count | Percent |
| Strongly disagree | 11 | 0.8% |
| Disagree | 42 | 3.1% |
| Neutral | 226 | 16.6% |
| Agree | 502 | 36.9% |
| Strongly agree | 449 | 33.0% |
# I am satisfied with Haskell as a language. ^

| Answer | Count | Percent |
| Strongly disagree | 9 | 0.7% |
| Disagree | 43 | 3.2% |
| Neutral | 109 | 8.0% |
| Agree | 587 | 43.1% |
| Strongly agree | 516 | 37.9% |
# I am satisfied with Haskell's compilers, such as GHC. ^

| Answer | Count | Percent |
| Strongly disagree | 5 | 0.4% |
| Disagree | 36 | 2.6% |
| Neutral | 96 | 7.1% |
| Agree | 626 | 46.0% |
| Strongly agree | 471 | 34.6% |
# I am satisfied with Haskell's build tools, such as Cabal. ^

| Answer | Count | Percent |
| Strongly disagree | 34 | 2.5% |
| Disagree | 144 | 10.6% |
| Neutral | 323 | 23.7% |
| Agree | 539 | 39.6% |
| Strongly agree | 162 | 11.9% |
# I am satisfied with Haskell's package repositories, such as Hackage. ^

| Answer | Count | Percent |
| Strongly disagree | 9 | 0.7% |
| Disagree | 67 | 4.9% |
| Neutral | 204 | 15.0% |
| Agree | 653 | 48.0% |
| Strongly agree | 256 | 18.8% |
# I can find Haskell libraries for the things that I need. ^

| Answer | Count | Percent |
| Strongly disagree | 12 | 0.9% |
| Disagree | 92 | 6.8% |
| Neutral | 256 | 18.8% |
| Agree | 687 | 50.5% |
| Strongly agree | 159 | 11.7% |
# I think Haskell libraries are high quality. ^

| Answer | Count | Percent |
| Strongly disagree | 5 | 0.4% |
| Disagree | 49 | 3.6% |
| Neutral | 300 | 22.0% |
| Agree | 588 | 43.2% |
| Strongly agree | 241 | 17.7% |
# I have a good understanding of Haskell best practices. ^

| Answer | Count | Percent |
| Strongly disagree | 53 | 3.9% |
| Disagree | 269 | 19.8% |
| Neutral | 376 | 27.6% |
| Agree | 419 | 30.8% |
| Strongly agree | 106 | 7.8% |
# I think Haskell libraries are well documented. ^

| Answer | Count | Percent |
| Strongly disagree | 127 | 9.3% |
| Disagree | 353 | 25.9% |
| Neutral | 421 | 30.9% |
| Agree | 265 | 19.5% |
| Strongly agree | 39 | 2.9% |
# I can easily compare competing Haskell libraries to select the best one. ^

| Answer | Count | Percent |
| Strongly disagree | 131 | 9.6% |
| Disagree | 441 | 32.4% |
| Neutral | 368 | 27.0% |
| Agree | 217 | 15.9% |
| Strongly agree | 34 | 2.5% |
# I think that Haskell libraries are easy to use. ^

| Answer | Count | Percent |
| Strongly disagree | 43 | 3.2% |
| Disagree | 217 | 15.9% |
| Neutral | 546 | 40.1% |
| Agree | 340 | 25.0% |
| Strongly agree | 45 | 3.3% |
# I think that Haskell libraries provide a stable API. ^

| Answer | Count | Percent |
| Strongly disagree | 11 | 0.8% |
| Disagree | 93 | 6.8% |
| Neutral | 405 | 29.8% |
| Agree | 556 | 40.9% |
| Strongly agree | 82 | 6.0% |
# I think that Haskell libraries work well together. ^

| Answer | Count | Percent |
| Strongly disagree | 18 | 1.3% |
| Disagree | 105 | 7.7% |
| Neutral | 396 | 29.1% |
| Agree | 522 | 38.4% |
| Strongly agree | 117 | 8.6% |
# I think that software written in Haskell is easy to maintain. ^

| Answer | Count | Percent |
| Strongly disagree | 7 | 0.5% |
| Disagree | 31 | 2.3% |
| Neutral | 132 | 9.7% |
| Agree | 485 | 35.6% |
| Strongly agree | 523 | 38.4% |
# Once my Haskell program compiles, it generally does what I intended. ^

| Answer | Count | Percent |
| Strongly disagree | 7 | 0.5% |
| Disagree | 57 | 4.2% |
| Neutral | 123 | 9.0% |
| Agree | 649 | 47.7% |
| Strongly agree | 384 | 28.2% |
# I think that Haskell libraries perform well. ^

| Answer | Count | Percent |
| Strongly disagree | 5 | 0.4% |
| Disagree | 47 | 3.5% |
| Neutral | 320 | 23.5% |
| Agree | 638 | 46.9% |
| Strongly agree | 142 | 10.4% |
# Haskell's performance meets my needs. ^

| Answer | Count | Percent |
| Strongly disagree | 14 | 1.0% |
| Disagree | 60 | 4.4% |
| Neutral | 159 | 11.7% |
| Agree | 585 | 43.0% |
| Strongly agree | 367 | 27.0% |
# I can easily reason about the performance of my Haskell code. ^

| Answer | Count | Percent |
| Strongly disagree | 114 | 8.4% |
| Disagree | 374 | 27.5% |
| Neutral | 418 | 30.7% |
| Agree | 240 | 17.6% |
| Strongly agree | 39 | 2.9% |
# I would recommend using Haskell to others. ^

| Answer | Count | Percent |
| Strongly disagree | 5 | 0.4% |
| Disagree | 32 | 2.4% |
| Neutral | 95 | 7.0% |
| Agree | 412 | 30.3% |
| Strongly agree | 682 | 50.1% |
# I would prefer to use Haskell for my next new project. ^

| Answer | Count | Percent |
| Strongly disagree | 15 | 1.1% |
| Disagree | 42 | 3.1% |
| Neutral | 88 | 6.5% |
| Agree | 315 | 23.1% |
| Strongly agree | 765 | 56.2% |
# Haskell is working well for my team. ^

| Answer | Count | Percent |
| Strongly disagree | 26 | 1.9% |
| Disagree | 47 | 3.5% |
| Neutral | 261 | 19.2% |
| Agree | 222 | 16.3% |
| Strongly agree | 276 | 20.3% |
# Haskell is critical to my company's success. ^

| Answer | Count | Percent |
| Strongly disagree | 132 | 9.7% |
| Disagree | 113 | 8.3% |
| Neutral | 245 | 18.0% |
| Agree | 153 | 11.2% |
| Strongly agree | 186 | 13.7% |
# As a candidate, I can easily find Haskell jobs. ^

| Answer | Count | Percent |
| Strongly disagree | 219 | 16.1% |
| Disagree | 305 | 22.4% |
| Neutral | 283 | 20.8% |
| Agree | 103 | 7.6% |
| Strongly agree | 45 | 3.3% |
# As a hiring manager, I can easily find qualified Haskell candidates. ^

| Answer | Count | Percent |
| Strongly disagree | 69 | 5.1% |
| Disagree | 113 | 8.3% |
| Neutral | 274 | 20.1% |
| Agree | 70 | 5.1% |
| Strongly agree | 33 | 2.4% |
# Demographics ^

| Answer | Count | Percent |
| 1 heart | 8 | 0.6% |
| 2 hearts | 0 | 0.0% |
| 3 hearts | 5 | 0.4% |
| 4 hearts | 6 | 0.4% |
| 5 hearts | 22 | 1.6% |
| 6 hearts | 29 | 2.1% |
| 7 hearts | 54 | 4.0% |
| 8 hearts | 94 | 6.9% |
| 9 hearts | 74 | 5.4% |
| 10 hearts | 310 | 22.8% |
# Which country do you live in? (single select) ^

| Answer | Count | Percent |
| United States | 364 | 26.7% |
| United Kingdom | 107 | 7.9% |
| Germany | 107 | 7.9% |
| Australia | 70 | 5.1% |
| France | 55 | 4.0% |
| Russia | 49 | 3.6% |
| Canada | 44 | 3.2% |
| Sweden | 36 | 2.6% |
| Netherlands | 34 | 2.5% |
| India | 24 | 1.8% |
| Japan | 21 | 1.5% |
| Italy | 20 | 1.5% |
| Poland | 20 | 1.5% |
| Finland | 19 | 1.4% |
| Switzerland | 19 | 1.4% |
| Austria | 17 | 1.2% |
| Norway | 16 | 1.2% |
| Czechia | 15 | 1.1% |
| Denmark | 14 | 1.0% |
| Belgium | 13 | 1.0% |
| Spain | 13 | 1.0% |
| New Zealand | 11 | 0.8% |
| Brazil | 10 | 0.7% |
| China | 9 | 0.7% |
| Ireland | 8 | 0.6% |
| Israel | 8 | 0.6% |
| Ukraine | 8 | 0.6% |
| Portugal | 7 | 0.5% |
| Croatia | 6 | 0.4% |
| Belarus | 5 | 0.4% |
| Romania | 5 | 0.4% |
| Argentina | 4 | 0.3% |
| Bulgaria | 4 | 0.3% |
| Greece | 4 | 0.3% |
| Indonesia | 4 | 0.3% |
| Latvia | 4 | 0.3% |
| South Africa | 4 | 0.3% |
| Turkey | 4 | 0.3% |
| Ecuador | 3 | 0.2% |
| Estonia | 3 | 0.2% |
| Hungary | 3 | 0.2% |
| Kenya | 3 | 0.2% |
| Singapore | 3 | 0.2% |
| Mexico | 2 | 0.1% |
| Thailand | 2 | 0.1% |
| Algeria | 1 | 0.1% |
| Armenia | 1 | 0.1% |
| Azerbaijan | 1 | 0.1% |
| Bolivia | 1 | 0.1% |
| Cameroon | 1 | 0.1% |
| Chile | 1 | 0.1% |
| Colombia | 1 | 0.1% |
| Egypt | 1 | 0.1% |
| Guatemala | 1 | 0.1% |
| Iceland | 1 | 0.1% |
| Iran | 1 | 0.1% |
| Kazakhstan | 1 | 0.1% |
| Lebanon | 1 | 0.1% |
| Malta | 1 | 0.1% |
| Nepal | 1 | 0.1% |
| Nigeria | 1 | 0.1% |
| Pakistan | 1 | 0.1% |
| Paraguay | 1 | 0.1% |
| Peru | 1 | 0.1% |
| Philippines | 1 | 0.1% |
| Serbia | 1 | 0.1% |
| Slovakia | 1 | 0.1% |
| Slovenia | 1 | 0.1% |
| South Korea | 1 | 0.1% |
| Syria | 1 | 0.1% |
| Uganda | 1 | 0.1% |
| Vietnam | 1 | 0.1% |
# How old are you? (single select) ^

| Answer | Count | Percent |
| Under 18 years old | 13 | 1.0% |
| 18 to 24 years old | 200 | 14.7% |
| 25 to 34 years old | 608 | 44.7% |
| 35 to 44 years old | 283 | 20.8% |
| 45 to 54 years old | 80 | 5.9% |
| 55 to 64 years old | 26 | 1.9% |
| 65 years or older | 8 | 0.6% |
# What is your gender? (single select) ^

| Answer | Count | Percent |
| Male | 1119 | 82.2% |
| Female | 49 | 3.6% |
| Non-binary | 29 | 2.1% |
# Do you identify as transgender? (single select) ^

| Answer | Count | Percent |
| No | 1079 | 79.3% |
| Yes | 35 | 2.6% |
# Are you a student? (single select) ^

| Answer | Count | Percent |
| No | 987 | 72.5% |
| Yes, full time | 158 | 11.6% |
| Yes, part time | 68 | 5.0% |
# What is the highest level of education you have completed? (single select) ^

| Answer | Count | Percent |
| Less than high school diploma | 22 | 1.6% |
| High school diploma | 101 | 7.4% |
| Some college | 131 | 9.6% |
| Associate degree | 24 | 1.8% |
| Bachelor's degree | 432 | 31.7% |
| Master's degree | 338 | 24.8% |
| Professional degree | 23 | 1.7% |
| Doctoral degree | 145 | 10.7% |
# What is your employment status? (single select) ^

| Answer | Count | Percent |
| Employed full time | 876 | 64.4% |
| Self employed | 124 | 9.1% |
| Employed part time | 89 | 6.5% |
| Not employed, but looking for work | 67 | 4.9% |
| Not employed, and not looking for work | 52 | 3.8% |
| Retired | 4 | 0.3% |
# How large is the company you work for? (single select) ^

| Answer | Count | Percent |
| Fewer than 10 employees | 205 | 15.1% |
| 10 to 99 employees | 363 | 26.7% |
| 100 to 999 employees | 225 | 16.5% |
| 1,000 or more employees | 276 | 20.3% |
# How many years have you been coding? (single select) ^

| Answer | Count | Percent |
| 0 to 4 years | 95 | 7.0% |
| 5 to 9 years | 315 | 23.1% |
| 10 to 14 years | 313 | 23.0% |
| 15 to 19 years | 208 | 15.3% |
| 20 to 24 years | 133 | 9.8% |
| 25 to 29 years | 69 | 5.1% |
| 30 or more years | 94 | 6.9% |
# How many years have you been coding professionally? (single select) ^

| Answer | Count | Percent |
| 0 to 4 years | 397 | 29.2% |
| 5 to 9 years | 353 | 25.9% |
| 10 to 19 years | 305 | 22.4% |
| 20 to 29 years | 102 | 7.5% |
| 30 or more years | 26 | 1.9% |
# Do you code as a hobby? (single select) ^

| Answer | Count | Percent |
| Yes | 1183 | 86.9% |
| No | 59 | 4.3% |
# Have you contributed to any open source projects? (single select) ^

| Answer | Count | Percent |
| Yes | 1031 | 75.8% |
| No | 206 | 15.1% |
# Meta survey ^

| Answer | Count | Percent |
| 1 heart | 5 | 0.4% |
| 2 hearts | 3 | 0.2% |
| 3 hearts | 3 | 0.2% |
| 4 hearts | 5 | 0.4% |
| 5 hearts | 27 | 2.0% |
| 6 hearts | 26 | 1.9% |
| 7 hearts | 45 | 3.3% |
| 8 hearts | 95 | 7.0% |
| 9 hearts | 67 | 4.9% |
| 10 hearts | 321 | 23.6% |
# Did you take last year's survey? (single select) ^

| Answer | Count | Percent |
| No | 616 | 45.3% |
| Yes | 322 | 23.7% |
| I don't remember | 294 | 21.6% |
# How did you hear about this survey? (single select) ^

| Answer | Count | Percent |
| Reddit | 394 | 28.9% |
| Twitter | 296 | 21.7% |
| Mailing list | 121 | 8.9% |
| Haskell Weekly | 113 | 8.3% |
| Lobsters | 78 | 5.7% |
| Slack | 65 | 4.8% |
| Discord | 49 | 3.6% |
| Other | 48 | 3.5% |
| In person | 30 | 2.2% |
| IRC | 12 | 0.9% |
| Telegram | 12 | 0.9% |
| Gitter | 6 | 0.4% |
| Matrix/Riot | 2 | 0.1% |
| Mastodon | 2 | 0.1% |