Haskellians,<br><br>But, along these lines i have been wondering for a
while... the monad laws present an alternative categorification of
monoid. At least it&#39;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
<br><br>monoidoid : monad :: groupoid : ???<br><br>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.
<br><br>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&#39;m given to
understand reversible computing might be a good thing to be thinking
about if QC ever gets real... ;-)
<br><br>Best wishes,<br><br>--greg<br><br><div><span class="gmail_quote">On 8/1/07, <b class="gmail_sendername">Greg Meredith</b> &lt;<a href="mailto:lgreg.meredith@biosimilarity.com">lgreg.meredith@biosimilarity.com</a>
&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Haskellians,<br><br>Though the actual metaphor in the monads-via-loops doesn&#39;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&#39;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
<br><br>group : symmetry :: monad : update<br><br>Best wishes,<br><br>--greg<br clear="all"><br>-- <br>L.G. Meredith<br>Managing Partner<br>Biosimilarity LLC<br>505 N 72nd St<br>Seattle, WA 98103<br><br>+1 206.650.3740<br>

<br><a href="http://biosimilarity.blogspot.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://biosimilarity.blogspot.com</a>
</blockquote></div><br><br clear="all"><br>-- <br>L.G. Meredith<br>Managing Partner<br>Biosimilarity LLC<br>505 N 72nd St<br>Seattle, WA 98103<br><br>+1 206.650.3740<br><br><a href="http://biosimilarity.blogspot.com">http://biosimilarity.blogspot.com
</a>