Skip to content

swap minView/maxView return value

Some time ago (before ghc 6.6 / base 2.0 release), I introduced minView and maxView in Data.Set and Data.Map (at a user's request). I agreed with Robert Dockins to implement the same functionality as in his version of the Edison library. Unfortunately, I uselessly swapped the return values of minView and maxView, introducing a difference both with the corresponding functions in the edison library and similar functions in Data.Map/Set.

I propose to restore the symmetry, at the cost of incompatibility.

New proposed types:

Data.Set:

minView,maxView:: Monad m => Set a -> m (a, Set a)

Data.Map:

minViewWithKey,maxViewWithKey :: Monad m => Map k a -> m ((k,a), Map k a)

minView,maxView :: Monad m => Map k a -> m (a, Map k a)

The incompatibility is probably acceptable because the functions are still short-lived.

relevant urls: http://www.eecs.tufts.edu/~rdocki01/docs/edison/Data-Edison-Coll.html#v%3AminView http://www.eecs.tufts.edu/~rdocki01/docs/edison/Data-Edison-Assoc.html#v%3AminView http://hackage.haskell.org/darcsweb/darcsweb.cgi?r=base;a=commit;h=20060616180121-9c550-c9530b7eab87ea834f826a7d5c531a5bbed22306.gz

Edited by jpbernardy
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information