{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifjsglcearcdqrr2v2ywqto4ac5kt6s5r623u24lpo6yufnvrmunq",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mksq63mv7qp2"
  },
  "path": "/t/why-arent-modules-prefixed-their-package-name/14025#post_2",
  "publishedAt": "2026-05-01T16:51:41.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "superstar64:\n\n> For some additional context, we where discussing this transitive package dependencies. If package `A`, depends on `B` and `B` depends on `C`, should `A` be allowed to import `C`’s modules without directly depending on `C`. I’m inclined to say yes because `B`’s types may not make sense without `C`’s types.\n\nIn that case, I think module `B` should reexport the modules of package `C`, allowing for `A` to not depend on `C`. Also, many packages do use the name of their project/something related as a root. e.g. `Dataframe`,`units`,`dimensional`.\n\n> These transitive dependencies would cause problems if module names where not prefixed with their package name.\n\nWhat problems?",
  "title": "Why aren't modules prefixed their package name?"
}