Open t-more opened 4 years ago
I would like to ping this, issue. The thing is that I've implemented red-black trees (for dictionary / maps) and 2-3 finger trees (for dequeues etc) for prelude. But to make this work smoothly we need to generalize many of the functions currently exported by Prelude.
The the alternative would possibly do add these types into the Container module instead. But it would be nice (from a programmers perspective) if we could avoid naming conflicts with prelude.
There's a similar issue on the topic for a few years earlier, but I really believe it would be a good idea to have generalized names for common container / sequence / etc operations.
The main purpose of such type classes would to make programming easier, not formalisms.
Two examples classes:
"Sized" giving a general notion of the size of some object
"Collection" generalizing the concept of a multi-set. (Excluding extensionality of course)