David Menendez wrote:
I wouldn't say that. It's important to remember that Haskell class
Monad does not, and can not, represent *all* monads, only (strong)
monads built on a functor from the category of Haskell types and
functions to itself.
Data.Set is a functor from the category of Haskell types *with
decidable ordering* and *order-preserving* functions to itself. That's
not the same category, although it is closely related.
I nominate this post for the September 2008 Most Incomprehensible Cafe
Post award! :-D
Seriously, that sounded like gibberish. (But then, you're talking to
somebody who can't figure out the difference between a set and a class,
so...)
All I know is that sometimes I write stuff in the list monad when the
result really ought to be *sets*, not lists, because
1. there is no senamically important ordering
2. there should be no duplicates
But Haskell's type system forbids me. (It also forbids me from making
Set into a Functor, actually... so no fmap for you!)
PS. Text is unpredictable, so just in case... If this post sounds like a
flame, it isn't meant to be. ;-)
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe