It's not used _very_ often, but it does appear a few times on Hackage. For instance, it's used several times in Agda source: https://codesearch.aelve.com/haskell/search?query=.mapKeysMonotonic&filter=Data.Map(+|$)&insensitive=off&space=off&precise=off&sources=on&page=1

On Apr 4 2019, at 3:19 pm, Andreas Abel <andreas.abel@ifi.lmu.de> wrote:
> I doubt this function is used very often.

You could be mistaken. Me, too. Without statistical data, I have 0
confidence in such estimates of brain 1.
https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow

On 2019-04-04 14:46, Elliot Cameron wrote:
Well I'm proposing deprecation not removal. The deprecation could even
live forever for all I care. It would point to the new name as well. Not
to mention I doubt this function is used very often.

On Thu, Apr 4, 2019, 2:58 AM Andreas Abel <andreas.abel@ifi.lmu.de
<mailto:andreas.abel@ifi.lmu.de>> wrote:

I am not sure this subtlety is worth the breakage and annoyance to
users
coming with the name change.
If you think about it, renaming the keys while preserving the tree
structure cannot work if two old keys map to the same new key.

On 2019-04-03 17:13, Elliot Cameron wrote:
Yeah the clearest names seem to be really long ones:
mapKeysMonotonicDistinct, mapKeysInjectiveIncreasing,
mapKeysReferToDocs, etc.

On Wed, Apr 3, 2019 at 11:11 AM David Feuer
<david.feuer@gmail.com <mailto:david.feuer@gmail.com>
<mailto:david.feuer@gmail.com <mailto:david.feuer@gmail.com>>> wrote:

     We can't use "increasing" because mathematically that usually
means
     non-strictly increasing. Using "ascending" gets us in trouble
with
     the other functions in the module that use the word in a
non-strict
     sense.

     On Wed, Apr 3, 2019, 10:46 AM Elliot Cameron
<eacameron@gmail.com <mailto:eacameron@gmail.com>
     <mailto:eacameron@gmail.com <mailto:eacameron@gmail.com>>> wrote:

         Hello!

         In some recent analysis I ran into a subtlety that caught
me by
         surprise: Data.Map.mapKeysMonotonic has a misleading name.

         A monotonic function is not a strictly /increasing/ function,
         but merely non-decreasing. However,
|mapKeysMonotonic| requires
         that it's mapping function be injective, which means it
really
         only supports /increasing/ functions.

         valid (mapKeysMonotonic (\x->  if  x`elem`  [1,2]then  2
else  x) (fromList [(1,"a"), (2,"b"), (3,"c")]))==  False

         The docs hint at this with "This means that @f
         <https://github.com/f>@ maps distinct original keys to
distinct
         resulting keys."

         However, I'd propose that we deprecate this name and
rename to
         something like |mapKeysIncreasing|or |mapKeysAsc| (to
follow the
         pattern of other *Asc functions). We should also clarify
the docs.


          From https://github.com/haskell/containers/issues/617
         _______________________________________________
         Libraries mailing list
Libraries@haskell.org <mailto:Libraries@haskell.org>
<mailto:Libraries@haskell.org <mailto:Libraries@haskell.org>>
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries


_______________________________________________
Libraries mailing list
Libraries@haskell.org <mailto:Libraries@haskell.org>
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org <mailto:Libraries@haskell.org>
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries