Sneak Peek: Bolt Math
Haskell Community [Unofficial]
March 16, 2026
ApothecaLabs:
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?
I’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.
Perhaps 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?
Discussion in the ATmosphere