{
  "$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"
}