Size: a a a

Kotlin Community

2020 August 13

с#

саша сок #KotlinGang... in Kotlin Community
но в принципе это хороший воркэраунд
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
ну тайпклассы я готов променять, но хкт мне понравилось
В KEEP-87 нет HKT если что. Для этого надо делать что-то вроде компаньон интерфейсов.
источник

AH

Ayrat Hudaygulov in Kotlin Community
Alexander Nozik
В KEEP-87 нет HKT если что. Для этого надо делать что-то вроде компаньон интерфейсов.
Ну ты хоть ссылку кинь куда смотреть)
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
а если я хочу, чтобы аргументов было тоже столько угодно
никак
источник

AN

Alexander Nozik in Kotlin Community
Ayrat Hudaygulov
Ну ты хоть ссылку кинь куда смотреть)
источник

AN

Alexander Nozik in Kotlin Community
Первое - это то, что раньше называлось тайп-классами, второе - это альтернативный подход в моей редакции.
источник

AN

Alexander Nozik in Kotlin Community
Для тайп-классов есть еще https://github.com/Kotlin/KEEP/issues/209
источник

с#

саша сок #KotlinGang... in Kotlin Community
интересно, когда-нибудь всё таки сделают extension объекты
источник

с#

саша сок #KotlinGang... in Kotlin Community
а не обязательно указывать что это object, можно просто

extension Repository<User> {

}
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
интересно, когда-нибудь всё таки сделают extension объекты
Ну надо задизайнить нормально. Там вопрос в том, как подстановка реализации происходит
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Ну надо задизайнить нормально. Там вопрос в том, как подстановка реализации происходит
ну я бы предложил грубо говоря заменять

extension Int {
   fun a() = Unit
   infix fun b(other: Int) = this + other
}

на

fun Int.a() = Unit
infix fun Int.b(other: Int) = this + other
источник

AL

Alexander Levin in Kotlin Community
Ну come on, кучу раз сказали, что эта штука ну вот толком никак не помогает тем, кто хочет тайпклассы.
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Ну come on, кучу раз сказали, что эта штука ну вот толком никак не помогает тем, кто хочет тайпклассы.
Лааадно. Я все равно думаю, что большую часть кейсов оно перекрывает. Я уже выше писал. Для тайп-классов нужны контракты на компаньоны. Это ортогональная фича. Пишите KEEP.
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
Лааадно. Я все равно думаю, что большую часть кейсов оно перекрывает. Я уже выше писал. Для тайп-классов нужны контракты на компаньоны. Это ортогональная фича. Пишите KEEP.
Мне-то зачем, меня тайпклассы более чем устроят :D
источник

AN

Alexander Nozik in Kotlin Community
Точнее нет, вы меня запутали. Для HKT оно не помогает, для тайп-классов как раз очень даже помогает
источник

AL

Alexander Levin in Kotlin Community
Alexander Nozik
Точнее нет, вы меня запутали. Для HKT оно не помогает, для тайп-классов как раз очень даже помогает
Есть kotlinx.serialization, есть сериализатор, который надо прокинуть. Если он уже написан, я не хочу его сам закидывать параметром. Чем эта штука мне вообще поможет?
источник

AN

Alexander Nozik in Kotlin Community
Alexander Levin
Есть kotlinx.serialization, есть сериализатор, который надо прокинуть. Если он уже написан, я не хочу его сам закидывать параметром. Чем эта штука мне вообще поможет?
А это не тайп-классы, а имплиситы. Давайте не путать
источник

AH

Ayrat Hudaygulov in Kotlin Community
Alexander Levin
Есть kotlinx.serialization, есть сериализатор, который надо прокинуть. Если он уже написан, я не хочу его сам закидывать параметром. Чем эта штука мне вообще поможет?
это про имплиситы
источник

AN

Alexander Nozik in Kotlin Community
Вот имплиситы мне не нравятся как идея. Хочу эксплиситы
источник

AL

Alexander Levin in Kotlin Community
Ayrat Hudaygulov
это про имплиситы
Так никому тайпклассы без подстановки тайпклассов нахрен не сдались :D
источник