{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreidou7qauwy3u6de2zmdeqoelumpkp42ybippyeqkch64rbfbhd4p4",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mnajmy3nf752"
},
"path": "/t/homomorphic-static-analysis/14146#post_16",
"publishedAt": "2026-06-01T15:45:47.000Z",
"site": "https://discourse.haskell.org",
"textContent": "Yes, after the feedback here it seems relatively clear that Arrows are fundamentally sequential and for truly parallel diagrams I am on the look out for other solutions and the most convenient syntax for them. It seems plausible to me that compiling into a bicartesian category like overloaded does is the right approach. Next question is which bullet to bite syntax wise. A plugin makes sense. “Compiling to categories” would be an option. But of course not requiring any of them would be nice: I am still pondering whether it might be possible to use something like the trick in linear-smc to actually use vanilla arrow syntax to write bicartesion categories.\n\nI am not super happy that all bicartesian categories I can find on hackage have type parameters for products and coproducts instead of hardcoding (,) and Either.",
"title": "Homomorphic static analysis"
}