ilya.gorbunov
04/24/2017, 3:23 PMmg6maciej
04/24/2017, 3:25 PMList
usage with this, but the API is not convinient. I even told you a while ago what issues I had 🙂mg6maciej
04/24/2017, 3:26 PMkotlin.List
will work. It needs to be a separate List
interface like this one: https://github.com/vavr-io/vavr/blob/master/vavr/src/main/java/io/vavr/collection/List.javailya.gorbunov
04/24/2017, 3:28 PMmg6maciej
04/24/2017, 3:32 PMmg6maciej
04/24/2017, 3:33 PMImmutableList
and then was hitting things like take
or drop
not defined on this interface.mg6maciej
04/24/2017, 3:33 PMList
.mg6maciej
04/24/2017, 3:37 PMList
as superinterface for ImmutableList
and then users would clearly see what's possible and what's not.ilya.gorbunov
04/24/2017, 3:39 PMmg6maciej
04/24/2017, 3:43 PMtake
on ImmutableList
simply needs to return ImmutableList
. There is no other option to connect it all with data class
copy and friends.mg6maciej
04/24/2017, 3:44 PMtoImmutableList()
after every such call.mg6maciej
04/24/2017, 3:45 PMmg6maciej
04/24/2017, 7:12 PMthis.copy(someList = this.someList + elem)
or val (six, rest) = this.someList.splitAt(6); this.copy(someList = six)
, so all functions on ImmutableList
should return the same type.