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