[Haskell-cafe] The container problem

Andrew Coppin andrewcoppin at btinternet.com
Sat Sep 27 09:24:40 EDT 2008

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, 

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. ;-)

More information about the Haskell-Cafe mailing list