{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiat57nwem57mzqutye3lmvz2ptwravbqlgjazw55t2v43dvx5pvfa",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mmyic5igquo2"
},
"path": "/t/homomorphic-static-analysis/14146#post_10",
"publishedAt": "2026-05-29T10:16:23.000Z",
"site": "https://discourse.haskell.org",
"textContent": "Well, I agree that pointful Monads are a nice and useful abstraction most of the time.\n\nHowever I find the idea of static inspectability quite intriguing. For that I know currently 2 abstractions: Arrows and Selective. The problem with Selective is a) no syntax support and b) effects cannot depend on inputs at all, which means you can’t even do putStrLn in Selective.\n\njaror:\n\n> Instead, I think we should just reckon with overloaded variable binding once and for all and avoid the complicating pointfree translation.\n\nSo, again sorry, I am not sure I can follow you here. (Especially the point “overloaded variable binding”) Are you saying I should just bite the bullet, and give up inspectability so that I don’t need “pointfree” programing? Or are you saying there is a better abstraction to do this?\n\n(I have the inkling that I should just read “compiling to categories” and then maybe I understand what you mean with overloaded variable binding, but not sure …)",
"title": "Homomorphic static analysis"
}