{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreia2l7k25pzayohbw2hokr7d4zdbezwb56i73eathimnustvrczqyy",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mih3lqhy4ft2"
  },
  "path": "/t/modernizing-haskell-code-without-breaking-backwards-compatibility/13871#post_2",
  "publishedAt": "2026-04-01T11:41:10.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "This post is a bit of an iceberg. If you want to get the most out of it, here’s some challenges:\n\n  * **Figure out how all of the code works.** A few bonus points for doing it without running the code, a lot for no copy/pasting\n  * **Find the breaking changes.** The claim of backwards compatibility isn’t _fully_ true. I’m aware of at least a few problems, there’s likely more\n  * **Win $1000 and use the flamethrower.** You probably need to be on desktop for this one, sorry\n\n\n\nFeel free to ask questions",
  "title": "Modernizing Haskell Code Without Breaking Backwards Compatibility"
}