{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreih6e3wsme2pcgukkasafonzy2hkn2yfrwjt2r72yatxdtggdt3eaa",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgiatsexix32"
},
"path": "/t/changing-the-binary-instance-for-double-and-float/13758?page=2#post_25",
"publishedAt": "2026-03-07T09:33:45.000Z",
"site": "https://discourse.haskell.org",
"textContent": "elaforge:\n\n> was supposed to replace binary for ghc’s internal use. While the latter seems to have never happened\n\nI think ghc only uses the `binary` package for the package db at this point. Most internal uses use GHC’s own Binary class:\n\n\n class Binary a where\n put\\_ :: WriteBinHandle -> a -> IO ()\n put :: WriteBinHandle -> a -> IO (Bin a)\n get :: ReadBinHandle -> IO a\n\n\nBut while that works for GHC I wouldn’t recommend this interface for a library.",
"title": "Changing the `Binary` instance for `Double` and `Float`"
}