Ok how about this class:

  class (Monoid m) => MonoidBreak m where
      mbreak::m->m->m

And the condition is

  mappend (mbreak y z) y == z


-Alex-

Dan Piponi wrote:
On 6/7/07, Alex Jacobson <[EMAIL PROTECTED]> wrote:
Is there a standard class that looks something like this:

class (Monoid m) => MonoidBreak m where
     mbreak::a->m a->(m a,m a)

I think you have some kind of kind issue going on here. If m is a
Monoid I'm not sure what m a means. Looks like you're trying to factor
elements of monoids in some way. Maybe you mean

class (Monoid m) => MonoidBreak m where
   mbreak::a->m->(m,m)

Though I'm not sure what the relationship between m and a is intended to be.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to