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