{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreier75bsq7liqbifubkt62ajzilyz47ajushbofc7ag3i47sgjxw6u",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgmccvnlxr22"
},
"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`?"
}