Size: a a a

Kotlin Community

2020 August 13

AH

Ayrat Hudaygulov in Kotlin Community
где M может быть List, A - int, B - String
источник

AH

Ayrat Hudaygulov in Kotlin Community
а может быть и Result!
сейчас такой flatMap реализован в каждой монаде копипастой потому что нет хкт
источник

AM

Andrew Mikhaylov in Kotlin Community
Iaroslav Orlov
бугурты мертвы
Формат да, бугурты во мне нет.
источник

VK

Vladyslav Kopaniev in Kotlin Community
Ayrat Hudaygulov
а может быть и Result!
сейчас такой flatMap реализован в каждой монаде копипастой потому что нет хкт
тебе все равно для каждой монады такой мап надо реализовать. Хкт нужен только чтобы в интерфейсе общую для всех фанкторов функцию описать
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
fun <M, A, B> fmap(a: M<A>, binder: (A) -> M<B>): M<B> = …
хорошо, а почему бы просто не сделать M ?
источник

AH

Ayrat Hudaygulov in Kotlin Community
короче, я не считаю хкт очень важной фичей, полезных монад не так много. Тайпклассы полезнее для среднего энтерпрайза
источник

с#

саша сок #KotlinGang... in Kotlin Community
саша сок #KotlinGang
хорошо, а почему бы просто не сделать M ?
просто у них же нет общих функций никаких и это грубо говоря Any
источник

AH

Ayrat Hudaygulov in Kotlin Community
Vladyslav Kopaniev
тебе все равно для каждой монады такой мап надо реализовать. Хкт нужен только чтобы в интерфейсе общую для всех фанкторов функцию описать
ну ты прав в том что мне надо сделать такой фмап чтобы оно СТАЛО монадой
источник

AH

Ayrat Hudaygulov in Kotlin Community
саша сок #KotlinGang
просто у них же нет общих функций никаких и это грубо говоря Any
наше обсуждение выходит за рамки котлина в целом. Но генерики не Any конечно же.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
короче, я не считаю хкт очень важной фичей, полезных монад не так много. Тайпклассы полезнее для среднего энтерпрайза
а я думаю что люди которые это сделали очень умные, потому что сразу так и не поймёшь зачем оно надо, но я уверен, что где-то оно надо
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
наше обсуждение выходит за рамки котлина в целом. Но генерики не Any конечно же.
да, я понимаю конечно, но в самой функции оно является UpperBound
источник

с#

саша сок #KotlinGang... in Kotlin Community
Ayrat Hudaygulov
fun <M, A, B> fmap(a: M<A>, binder: (A) -> M<B>): M<B> = …
Ааа, я понял да, я не заметил кое чего
источник

VK

Vladyslav Kopaniev in Kotlin Community
саша сок #KotlinGang
а я думаю что люди которые это сделали очень умные, потому что сразу так и не поймёшь зачем оно надо, но я уверен, что где-то оно надо
я бы сказал рядовому девелоперу оно до одного места, а дял автора библиотек это очень полезно (скажу как автор библиотек)
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladyslav Kopaniev
я бы сказал рядовому девелоперу оно до одного места, а дял автора библиотек это очень полезно (скажу как автор библиотек)
хах, можно запарится и сделать какой-нибудь kapt processor
источник

с#

саша сок #KotlinGang... in Kotlin Community
чтобы он генерил такие функции и не копипастить, но это уже другой разговор
источник

VK

Vladyslav Kopaniev in Kotlin Community
саша сок #KotlinGang
чтобы он генерил такие функции и не копипастить, но это уже другой разговор
можно, тогда уже какой-то go получается
источник

AH

Ayrat Hudaygulov in Kotlin Community
саша сок #KotlinGang
а я думаю что люди которые это сделали очень умные, потому что сразу так и не поймёшь зачем оно надо, но я уверен, что где-то оно надо
ну вот если ты понял зачем нужны HKF - higher kinded functions, то с HKT так же)

функции, которые принимают и возвращают функции
А тут типы, которые принимают и возвращают другие типы
источник

AH

Ayrat Hudaygulov in Kotlin Community
но их обычно higher ordered functions называют. функции высшего порядка
источник

с#

саша сок #KotlinGang... in Kotlin Community
слушайте а вот вопрос есть
источник

с#

саша сок #KotlinGang... in Kotlin Community
как мне принимать в качестве аргумента любую лямбду ?
источник