Proposal: Rename HashMap.lookupDefault to HashMap.findWithDefault

Henning Thielemann lemming at henning-thielemann.de
Wed Jan 24 07:11:33 UTC 2018


On Tue, 23 Jan 2018, Matt Renaud wrote:

> Cons:
> -----
> 
> - API change requires users to update their code
>   + unordered-containers has A LOT of users: 358815 total (13325 in the last 30 days)

A better measure are certainly the reverse package dependencies:
    https://www.stackage.org/package/unordered-containers

There are almost 1000 packages that import unordered-containers, still 
quite a lot!

> Migration - Option 1:
> ---------------------
> 
> - Announce on Haskell communication channels (haskell-cafe@, haskell-community@, #haskell on Twitter, Reddit
> thread, etc.)
> - Users of unordered-containers >= 0.2.9.0 receive warning about deprecated function
> - Code can be updated by find and replace: s/lookupDefault/findWithDefault/
> - lookupDefault with deprecation notice remains for 1 year (subject to change)
> - after 1 year the lookupDefault function is removed, unordered-containers version bumped to 0.3.0.0 (major
> version bump due to breaking change)

I'd say 1 year is too short. There is no need to remove the function 
quickly. I'd vote for adding a deprecation warning soon, but then keep the 
function until the next larger API overhaul or say, for five years or a 
decade.


More information about the Libraries mailing list