{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidgqsvfayvidz32wxtvp26v4vp64ijecnjuli67bjuuffdkwhf3nm",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mopqzh44qrg2"
  },
  "path": "/t/using-different-versions-of-the-same-dependency-like-rust/14298#post_1",
  "publishedAt": "2026-06-19T21:41:28.000Z",
  "site": "https://discourse.haskell.org",
  "tags": [
    "[RFC] \"http-types\" breakage / additions / rework"
  ],
  "textContent": "[RFC] \"http-types\" breakage / additions / rework\n\n> I think we could extend GHC’s `PackageImports` (or add a new extension) to be able to specify major versions and that would let GHC expose multiple versions of a package at once.\n\nYeah, that sounds like it could work. We can also copy cargo’s feature of renaming packages which solves the package imports problem. Imagined syntax:\n\n\n      build-deps: base\n                , http-types ^>= 0.12.5 as old-http-types\n                , http-types ^>= 1.0.0  as new-http-types\n\n\n\n    import \"old-http-types\" Network.HTTP.Types as Old\n    import \"new-http-types\" Network.HTTP.Types as New\n",
  "title": "Using different versions of the same dependency like Rust"
}