8 ms·
> Where Haskell is worse: > Infix operators are bad. Custom infix operators are worse. Disagree, as a regular user of `shouldBe` and other HSpec expectations,
by ghostwriter 3y ago
> Where Haskell is worse:
> Infix operators are bad. Custom infix operators are worse.
Disagree, as a regular user of `shouldBe` and other HSpec expectations, as well as DSL libraries that rhyme like English. And even when they don't rhyme, they provide flow for defining your complex types that would be tiresome to define with verbose prefixes (Servant).
> Haskell is very indentation-sensitive, more so than Python. Slight, harmless-looking cosmetic changes can break the parser.
That's not true, Python is more sensitive to indentations.
> Lazy evaluation is bad.
> Lazy data structures are bad.
> Is purity worth it? Not really.
These are just lazy crowd-opinions.
> Every file starts with declaring thirty language extensions.
This has never been true, all extensions can be declared default global to a compilation group (library/executable/project) and never mentioned in .hs files. When you see extensions being specified in every file of online tutorials, you know it's being done so for 1) didactic purposes 2) self-contained units for copy-pasting into your editor.
All in all, the author isn't very well versed in Haskell, as it becomes clear with the provided examples of Ord instances for newtype IntAsc declarations. A seasoned Haskell programmer would almost certainly write it with `deriving via`, especially in a situation where they want to demonstrate how easy it is to get around the limitation of a single typeclass instance per type.
- tome 3y ago> > Every file starts with declaring thirty language extensions. > This has never been true, all extensions can be declared default global to a compilation group Yup, or nowadays you can just use "GHC2021" and be happy.