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