Haskellians,
But, along these lines i have been wondering for a
while... the monad laws present an alternative categorification of
monoid. At least it's alternative to monoidoid. In the spirit of this
thought, does anyone know of an expansion of the monad axioms to
include an inverse action? Here, i am following an analogy
monoidoid : monad :: groupoid : ???
i did a search of
the literature, but was probably using the wrong terminology to try to
find references. i would be very grateful for anyone who might point me
in the right direction.
My intuition tells me this could be quite generally useful to
computing in situation where boxing and updating have natural (or yet
to be discovered) candidates for undo operations. i'm given to
understand reversible computing might be a good thing to be thinking
about if QC ever gets real... ;-)
Best wishes,
--greg
Haskellians,
Though the actual metaphor in the monads-via-loops doesn't seem to fly with this audience, i like the spirit of the communication and the implicit challenge: find a pithy slogan that -- for a particular audience, like imperative programmers -- serves to uncover the essence of the notion. i can't really address that audience as my first real exposure to programming was scheme and i moved into concurrency and reflection after that and only ever used imperative languages as means to an end. That said, i think i found another metaphor that summarizes the notion for me. In the same way that the group axioms organize notions of symmetry, including addition, multiplication, reflections, translations, rotations, ... the monad(ic axioms) organize(s) notions of snapshot (return) and update (bind), including state, i/o, control, .... In short
group : symmetry :: monad : update
Best wishes,
--greg
--
L.G. Meredith
Managing Partner
Biosimilarity LLC
505 N 72nd St
Seattle, WA 98103
+1 206.650.3740
http://biosimilarity.blogspot.com