{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreia7fvjou2u2woapv2dzw7e7t3jmoswvlwvaphbiqxx5h4h4m2swcu",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mllqn6rvc2o2"
},
"path": "/t/is-there-an-idiomatic-haskell/14042#post_10",
"publishedAt": "2026-05-11T15:21:08.000Z",
"site": "https://discourse.haskell.org",
"textContent": "Back in junior times I found it very helpful to just read source code of libraries I use (`aeson`, `base`, whatever) to get a feeling of how the code should be structured. Eventually I developed my own style.\n\nI find using formatters very disturbing however. Even in a small team it’s surprisingly hard to settle on one version of the same formatter or vscode remove-trailing-whitespaces (silly, I know!). This often results in huge diff noises.\n\nThere are some classics everyone should read (like “Parse, don’t validate” mentioned), otherwise there is just a multum of correct ways to write the exact same thing. I find style guides more than enough and satisfactory for this purpose. Some people like writing list comprehensions, some use list’s `Monad` instance. Some default to `mtl`, some prefer explicit `IO`. Make an informed decision and stick to it. Luckily, Haskell is just _extremely_ easy to refactor, so the decisions can be changed.",
"title": "Is there an idiomatic Haskell?"
}