{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreier75bsq7liqbifubkt62ajzilyz47ajushbofc7ag3i47sgjxw6u",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgmpqvdxtbz2"
  },
  "path": "/t/fork-basement-as-baseplate/12415?page=5#post_86",
  "publishedAt": "2026-03-09T05:09:26.000Z",
  "site": "https://discourse.haskell.org",
  "tags": [
    "ghcup-hs/lib/GHCup/Download.hs at master · haskell/ghcup-hs · GitHub",
    "cabal/cabal-install/src/Distribution/Client/HttpUtils.hs at master · haskell/cabal · GitHub"
  ],
  "textContent": "Ambrose:\n\n> Is there a Haskell library that wraps shelling out to curl?\n\nMaybe that’s not too much of a bad idea in fact. There’s some significant code regarding this in both Cabal and GHCup that could be factored out. Dealing with all the cli options (especially in a portable manner) is not easy, then all the stuff around etags etc.\n\n  * ghcup-hs/lib/GHCup/Download.hs at master · haskell/ghcup-hs · GitHub\n  * cabal/cabal-install/src/Distribution/Client/HttpUtils.hs at master · haskell/cabal · GitHub\n\n\n\nBut my guess is that any such wrapper would be fairly opinionated and simplified.\n\nBut I feel we’re going increasingly off-topic.",
  "title": "Fork `basement`? As `baseplate`?"
}