https://kotlinlang.org logo
#arrow
Title
s

sitepodmatt

03/06/2019, 3:45 AM
Copy code
data class User(val id: Int) {
    companion object
}


interface Eq<F> {
    fun F.eqv(b: F): Boolean

    fun F.neqv(b: F): Boolean =
        !eqv(b)
}

@extension
interface UserEq: Eq<User> {
    override fun User.eqv(b: User): Boolean = id == b.id
}

class ArrowExperiments : StringSpec({

    "arrow experimenting" {
        val u1 = User(1)
        val u2 = User(1)
        //u1.eqv(u2)?
    }
})