{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihxk2zyyy4yfkcwrx5qteld7rzxe3mgfgoarpjz7wq4wqy47ve2sy",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgmcbzdltwz2"
},
"path": "/t/sneak-peek-bolt-math/13766#post_10",
"publishedAt": "2026-03-09T06:57:15.000Z",
"site": "https://discourse.haskell.org",
"tags": [
"numeric-prelude"
],
"textContent": "ApothecaLabs:\n\n> There is also numeric-prelude as prior art, which looks so good until you click a module and see it is all `class C a => C a where` and I am instantly like\n\nSadly, this was a beautiful idea cut down by Haddock before it had a chance to take root. The idea is to go all in on qualified imports. If `Algebra.Field` exports a class representing fields, what are you gonna call it? `Algebra.Field.Field`? If you’re always gonna import qualified anyway, there’s no ambiguity in just calling it `Algebra.Field.C`!\n\nBut then Haddock strips all qualifications and you’re left with nonsense when reading docs.\n\n(The idea might have never worked anyway since it _forces_ users to use qualified imports, but I _can_ imagine a world where that became the norm.)",
"title": "Sneak Peek: Bolt Math"
}