{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreib7rp2dhuxg65zmvgxqb3lgvpupvuieq44rbvqbhezsl3fgny2ww4",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mh6zprmhnih2"
},
"path": "/t/sneak-peek-bolt-math/13766#post_20",
"publishedAt": "2026-03-16T09:52:45.000Z",
"site": "https://discourse.haskell.org",
"textContent": "ApothecaLabs:\n\n> Also, the trivial example is wedging simple vectors: `wedge :: v -> v -> Bivector v` - not an act. Not a homogenous relation either. Is this a sufficient example?\n\nI’m not claiming that all mathematical operators are either homogeneous or correspond to an action, that would be a big claim! That is, surely many operators have result types that correspond to neither of the input types.\n\nPerhaps I would question whether you need to an abstraction that covers both addition on integers and the wedge product on vectors? Is the goal just to have a great degree of notational flexibility, so you can use `+` for the wedge product if you really want?",
"title": "Sneak Peek: Bolt Math"
}