Size: a a a

Kotlin Community

2020 August 13

с#

саша сок #KotlinGang... in Kotlin Community
саша сок #KotlinGang
в джаве в любом случае лямбда не может be lifted out of braces
быть вынесена за скобки
источник

с#

саша сок #KotlinGang... in Kotlin Community
Iaroslav Orlov
ну тайпклассы я готов променять, но хкт мне понравилось
ссылку пожалуйста блин
источник

AH

Ayrat Hudaygulov in Kotlin Community
Iaroslav Orlov
ну тайпклассы я готов променять, но хкт мне понравилось
Тайп классы гораздо полезнее хкт так-то.
источник

с#

саша сок #KotlinGang... in Kotlin Community
что такое хкт
источник

IO

Iaroslav Orlov in Kotlin Community
саша сок #KotlinGang
вы поняли да, я не знаю как на русском это красиво сказать
вынести за скобки ;)
источник

с#

саша сок #KotlinGang... in Kotlin Community
+
источник

AH

Ayrat Hudaygulov in Kotlin Community
Ну то есть тебе надо условно в проде ну 5 монад от силы.

Резалт, опшн (в котлине не очень надо, так как нулаблы удобные), асинк (в котлине есть Deffered), коллекции и ... Даже пятая в голову не лезет.

Короче их можно и без хкт накопипастить, это просто удобство.

А вот тайпклассы позволяют делать вещи, ранее невозможные - реализовывать интерфейс для типа, который его не имел. В ООП есть паттерн адаптер, так вот это похоже, но гораздо лучше, так как инстанс тайпкласса можно шарить, импортить в скоуп, выкладывать в мавен!
источник

IO

Iaroslav Orlov in Kotlin Community
Ayrat Hudaygulov
Ну то есть тебе надо условно в проде ну 5 монад от силы.

Резалт, опшн (в котлине не очень надо, так как нулаблы удобные), асинк (в котлине есть Deffered), коллекции и ... Даже пятая в голову не лезет.

Короче их можно и без хкт накопипастить, это просто удобство.

А вот тайпклассы позволяют делать вещи, ранее невозможные - реализовывать интерфейс для типа, который его не имел. В ООП есть паттерн адаптер, так вот это похоже, но гораздо лучше, так как инстанс тайпкласса можно шарить, импортить в скоуп, выкладывать в мавен!
я знаю, что такое тайпклассы.
источник

IO

Iaroslav Orlov in Kotlin Community
но просто пока что не было юзкейса, чтоб прям "ааа, почему нет тайпклассов"
источник

AH

Ayrat Hudaygulov in Kotlin Community
Iaroslav Orlov
я знаю, что такое тайпклассы.
Я пытаюсь сказать что тайпклассы полезнее хкт.
источник

IO

Iaroslav Orlov in Kotlin Community
допустим, полезнее. но я субъективен.
источник

AH

Ayrat Hudaygulov in Kotlin Community
саша сок #KotlinGang
что такое хкт
Higher kinded Types. Дженерики, которые могут возвращать дженерики
источник

IO

Iaroslav Orlov in Kotlin Community
и я заинтересован, в том чтобы ввели хкт, даже если не тайпклассы
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
Higher kinded Types. Дженерики, которые могут возвращать дженерики
а можно примеры кода, а то не совсем понятно пока что, я читаю вот
источник

AH

Ayrat Hudaygulov in Kotlin Community
саша сок #KotlinGang
а можно примеры кода, а то не совсем понятно пока что, я читаю вот
fun <A,B> foo(a: A<B>): Unit = Unit
источник

AH

Ayrat Hudaygulov in Kotlin Community
сделай так, чтобы компилировалось 😄
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
fun <A,B> foo(a: A<B>): Unit = Unit
а почему оно не скомпилируется ?
источник

AH

Ayrat Hudaygulov in Kotlin Community
саша сок #KotlinGang
а почему оно не скомпилируется ?
потому что котлин так не умеет
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
потому что котлин так не умеет
fun <B, A : List<B>> foo(a: A) = Unit
источник

AH

Ayrat Hudaygulov in Kotlin Community
саша сок #KotlinGang
fun <B, A : List<B>> foo(a: A) = Unit
но ты поменял мой код.
у меня был аргумент вида
a: A<B>
источник