[Haskell-cafe] Adding Ord constraint to instance Monad Set?
Wolfgang Jeltsch
wolfgang at jeltsch.net
Wed Mar 31 09:37:10 EST 2004
Am Mittwoch, 31. März 2004 09:32 schrieben Sie:
> On Wed, Mar 31, 2004 at 08:48:35AM +0200, Wolfgang Jeltsch wrote:
> > > Now, as i think a little more about it, i believe what you want to do
> > > makes no sense. The monad operation '>>=' works on monads over
> > > *different* 'element' (i.e. argument) types (look at the type of
> > > '>>='). Your implementation only works if argument types are the same.
> > > I can't see how this can be generalized to different argument types
> > > even if both are instances of class Ord.
> >
> > I disagree. AFAICS, his implementation also works with different element
> > types. Am I overlooking something?
>
> I think the real issue is that you can't restrict the types on which
> monad operates without modifying the Monad class.
Exactly. You would be able to define a meaningful Monad instance for Set if
Monad would have an Ord restriction on its "element" types. But since Monad
doesn't have this restriction, you cannot make a meaningful Monad instance of
Set.
> [...]
Wolfgang
More information about the Haskell-Cafe
mailing list