{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigmnxyfxamwmkjh7jgtvzddbypdcue2zrg5eo4doyp6gitqe6fusa",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mksq5ogufvf2"
  },
  "path": "/t/why-arent-modules-prefixed-their-package-name/14025#post_4",
  "publishedAt": "2026-05-01T16:58:45.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "ashokkimmel:\n\n> What problems?\n\nThe problem is that there would be incompatible sets of packages. If package `A` and `B` both export module `X`. Then you can’t depend on both `A` and `B` because `import X` would be ambiguous.\n\nWith my current plan for Hazy, not only would you not be able to depend on both `A` and `B`, but it would disallow `A` and `B` from appearing in the same program at all. As I expect module names to be unique.",
  "title": "Why aren't modules prefixed their package name?"
}