arrow-kt / arrow-core

Λrrow Core is part of Λrrow, a functional companion to Kotlin's Standard Library
http://arrow-kt.io
Other
81 stars 30 forks source link

Deprecate Hash #337

Closed nomisRev closed 3 years ago

nomisRev commented 3 years ago

This PR deprecates Hash since Kotlin, and Kotlin's Std doesn't take Hash into account for example for HashMap or HashSet nor does Kotlin have the power to automatically derive or inject Hash anywhere. This makes Hash very cumbersome to work with, see Tuple10Hash.kt

The use-cases of Hash seemed very limited and niche to us, so we've decided to exclude it from Arrow in 1.0.0. The common technique for this is to use data class, which automatically implements hashCode().