{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibjovrvdodh5mlrgugjgh4altix2blsx4qyfofhb6klbkfv32geni",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mlsbq7spgti2"
  },
  "path": "/t/is-it-okay-to-use-the-cabal-solver-to-conditionally-define-dependencies-and-instances-like-this/14103#post_3",
  "publishedAt": "2026-05-14T06:46:40.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "Thanks for the link.\n\nReading it provoked quite a bit of thinking.\n\nOn reflection there’s two problems with what I’ve suggested.\n\n  1. I’ve realised in what I’ve described actually a circular dependency between `alice` and `alice-bob-instance`, in that they both depend on each other. So I don’t think that will work.\n  2. The other issue is that if a package depends directly on `alice` and `bob` but only indirectly on `alice-bob-instance` just a change in the dependencies of it’s dependencies suddenly can make it break (namely if one of it’s dependencies no longer depends on `alice-bob-instance`). That’s no good.\n\n\n\nThere’s does seem to be no better solution than the orphan package and having to explicitly import the orphan package module without an import list, but this does seem deeply unsatisfying.",
  "title": "Is it okay to use the cabal solver to conditionally define dependencies and instances like this?"
}