Products · Product
Haskell
Raised as a usability problem by 271 people on Hacker News over 19 years (2008–2026), in 241 threads.
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
Every issue, all time, most people first
Syntax is weird and hard for beginners to learnUnreviewed
20082026- Writing dependent types in Haskell requires awful tricks and has a worse user experience2026-07-30
- Haskell is too hard for the commenter to use or understand2026-06-02
- Haskell's developer tooling is poor, slowing the commenter down2026-04-10
Type mismatch error messages are hard to understand for beginnersUnreviewed
20082026- Type errors without annotations don't reveal which of two types is wrong, causing confusing messages2025-11-30
- Long, detailed, subtle error messages suggest the compiler over-infers intent2024-12-03
- Compiler errors are poor, first error stops the rest of compile, overwhelming for juniors2024-09-12
Too many operators to remember and search forUnreviewed
20082026- Terse syntax and custom operators make code hard for beginners to read2024-09-12
- Cryptic ASCII operator soup and multiple similar operators are hard to read and remember2022-12-06
- Too many operators, hard to remember and search for them2020-12-18
Can't understand monads despite multiple explanationsUnreviewed
20082026- Monads and type classes are hard to understand and unclear where defined2025-11-07
- Hard for beginners to understand because of monads, laziness, and indentation rules2024-12-23
- Hard to learn monads and IO; needs full library knowledge to get anything done2024-05-14
Reasoning about performance is hard because of lazy evaluationUnreviewed
20082026- Can't predict runtime performance of code, it's either very fast or very slow2024-08-05
- Lazy evaluation makes memory usage confusing and hard to predict2022-08-12
- Even the simplest code is nearly impossible to debug, and laziness causes easy-to-make mistakes2022-06-08
Tool setup is hard, with install commands cited as the exampleUnreviewed
20082026- Installing Haskell cross-machine was painful, especially on macOS in 20192023-07-03
- Editor tooling was buggy and needed configuration, making Haskell hard to use2022-08-12
- Haskell GUI libraries are very difficult to install on Windows2019-12-09
Operator precedence is hard to map, forcing trial-and-error with dollar signsUnreviewed
20082026- Operator precedence is too complicated to mentally map, forcing trial-and-error with dollar signs2020-09-08
- The $ operator's function application direction is confusing to read2019-10-17
- Operator direction for composition is counterintuitive, so readers expect the opposite symbol2018-08-21
Indentation rules are hard to learn and hard to search forUnreviewed
20082026- Indentation-as-syntax rules are confusing and took a long time to learn2024-12-03
- Indentation rules are hard to learn and hard to search for2020-08-29
- Indentation is wrong about 20% of the time, making tab-cycling tedious2014-01-23
do-notation is hard to read, requiring mental desugaringUnreviewed
20082026- Do-notation is confusing to read, requiring mental desugaring and fighting indentation rules2025-01-19
- Do-notation and >>= are confusing; people fail several times before understanding them2017-07-26
- Whitespace function application and operator precedence confuse newcomers2015-09-29
Documentation uses type theory terms that are hard to followUnreviewed
20082026- Documentation uses type theory terminology that practitioners find impossible to follow2021-05-06
- Hard to find which types implement a typeclass; docs and hoogle don't list them2017-09-13
- Confusing generic type names make beginners struggle to grasp concepts2012-10-31
Error messages point to the wrong place, hard to act onUnreviewed
20082026- Error messages are opaque, so newcomers can't get from error to fix2025-01-19
- Error messages are hard to understand and the dev environment is hard to figure out2020-10-06
- Error messages point to the wrong place and are confusing to act on2016-06-06
Most libraries are hard to use and don't compose wellUnreviewed
20082026- Popular libraries have fundamental flaws and ease of use is neglected2024-01-30
- Most libraries are hard to use and don't compose well2018-02-01
- Symbol-heavy library APIs and right-to-left composition are hard to read and learn2016-12-26
Point-free style and overloaded operators make code unreadableUnreviewed
20082026- Terse, convoluted syntax and point-free style are hard to understand and follow2021-06-26
- Code written with point-free style and overloaded operators becomes unreadable and is dismissed by the community2018-05-20
- Point-free code is easily abused, becoming unreadable and hiding what it does2011-10-03
Libraries need many confusing language extensions to get workingUnreviewed
20082026- Language features hide everything behind arcane extensions, making usable code hard to get2024-05-31
- Libraries require many confusing language extensions, making projects hard to get working2023-10-08
- Must constantly hack around the language with extensions to do needed things2022-12-02
Code lacks visual structure cues, so it is hard to readUnreviewed
20082026- Code is hard to read because its structure is hard to guess2026-04-29
- Code looks like a stream of whitespace with no visual cues for structure, so it is hard to read2025-01-31
- Hard to visually parse code made of whitespace-separated identifiers2011-11-04
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Scrolling the page is very slow and makes reading unpleasant2026-10-05
- Must remember and manually write wrapper constructor names every time2026-08-27
- Writing dependent types in Haskell requires awful tricks and has a worse user experience2026-07-30
- Entering a project and running it, and installing dependencies, is a long, frustrating process2026-07-12
- Haskell is too hard for the commenter to use or understand2026-06-02
- Documentation doesn't explain design choices; names are unfriendly to programmers2026-05-18
- Code is hard to read because its structure is hard to guess2026-04-29
- Haskell's developer tooling is poor, slowing the commenter down2026-04-10
- Hard to place breakpoints and inspect full program state2026-02-12
- Type errors without annotations don't reveal which of two types is wrong, causing confusing messages2025-11-30
- Could not get GHCi to accept multiline definitions2025-11-28
- Monads and type classes are hard to understand and unclear where defined2025-11-07
- Everybody uses lenses, making code hard to read and hard to follow2025-10-02
- Setup took 15+ minutes installing GHC and building, so the commenter gave up2025-06-05
- Too time-consuming to use day to day, so the commenter abandoned it2025-04-11
- Partial support yields a confusing set of libraries and conventions to learn2025-04-08
- Code looks like a stream of whitespace with no visual cues for structure, so it is hard to read2025-01-31
- Annotating every function with IO is super annoying and hard to test2025-01-30
- Do-notation is confusing to read, requiring mental desugaring and fighting indentation rules2025-01-19
- Error messages are opaque, so newcomers can't get from error to fix2025-01-19
- Reading a text file requires more steps and theory than in Python2024-12-23
- Hard for beginners to understand because of monads, laziness, and indentation rules2024-12-23
- Official get-started page leaves learners without a clear next step, causing them to give up2024-12-18
- Ctrl-D does nothing silently, then leaves an invisible character causing a lexical error2024-12-12
- Long, detailed, subtle error messages suggest the compiler over-infers intent2024-12-03
- Indentation-as-syntax rules are confusing and took a long time to learn2024-12-03
- Compiler errors are poor, first error stops the rest of compile, overwhelming for juniors2024-09-12
- Terse syntax and custom operators make code hard for beginners to read2024-09-12
- Haskell code doesn't force developers to handle error states, so programs often assume only the happy path2024-09-12
- Error messages and slow compile times make developing in Haskell a chore2024-09-12
- Records are hard to use for large projects, making structured data awkward to write2024-08-06
- Can't predict runtime performance of code, it's either very fast or very slow2024-08-05
- Inscrutable error messages make it unclear whether a lift or stack rearrangement is needed2024-06-01
- Language features hide everything behind arcane extensions, making usable code hard to get2024-05-31
- Hard to learn monads and IO; needs full library knowledge to get anything done2024-05-14
- Popular libraries have fundamental flaws and ease of use is neglected2024-01-30
- Dependent typing is painful to use and almost impossible to debug2023-10-08
- Libraries require many confusing language extensions, making projects hard to get working2023-10-08
- Must learn far more than Java just to use it, and add mandatory boilerplate2023-10-05
- Haskell syntax is hard to scan and read, with dense lines2023-08-24
- Setting up an IDE for basic syntax highlighting and go-to-definition is a giant chore2023-08-24
- Language server breaks randomly and version manager choice (ghcup vs stack) is confusing2023-08-24
- Language is so unfathomable to newcomers, causing hours of frustration2023-08-24
- Before DerivingVia, couldn't specify which deriving strategy to use, causing library conflicts2023-08-20
- Real-world code needs many incompatible, poorly documented extensions, making learning hard2023-08-18
- Installing Haskell cross-machine was painful, especially on macOS in 20192023-07-03
- Haskell's syntax and idiomatic style are hard for the commenter to follow2023-04-13
- Haskell's syntax feels hard to read and understand compared to Rust-style code2023-04-13
- Official docs are bad, user doesn't know how to learn the language2023-02-26
- Beginners quickly hit higher-kinded types and monad transformers, making the languages hard to get started with2023-01-27