On Tue, Apr 28, 2009 at 5:33 PM, Michael Vanier <span dir="ltr">&lt;<a href="mailto:mvanier42@gmail.com">mvanier42@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



  
  

<div bgcolor="#ffffff" text="#000000"><div class="im">
Tony Morris wrote:
<blockquote type="cite">
  <pre>Michael Vanier wrote:
  </pre>
  <blockquote type="cite">
    <pre>I&#39;ve stumbled upon a structure that is like a weaker version of a
monad, one that supports return and &gt;&gt; but not &gt;&gt;=.  Has anyone seen
this before, and if so, does it have a standard name?

Mike


_______________________________________________
Haskell-Cafe mailing list
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>

    </pre>
  </blockquote>
  <pre>Are you sure it supports
(&gt;&gt;) :: m a -&gt; m b -&gt; m b

and not
mplus :: m a -&gt; m a -&gt; m a ?

  </pre>
</blockquote></div>
Yeah, you&#39;re right.  It&#39;s basically a monad where the type a is fixed
to be (), so you just have<br>
<br>
(&gt;&gt;) :: m () -&gt; m () -&gt; m ()</div></blockquote><div><br>That&#39;s a monoid.<br><br>Luke</div></div><br>