Size: a a a

Kotlin Community

2020 March 19

VP

Vladimir Petrakovich in Kotlin Community
Hadji
А, да, он поклонник хаскелла и скалки
После скалы странно лезть в котлин
источник

H

Hadji in Kotlin Community
Vladimir Petrakovich
После скалы странно лезть в котлин
Ну, вот он и не полез) Но посмотреть, попробовать-то всегда имеет смысл)
источник

B

Beholder in Kotlin Community
А решают ли все эти hkt и тайпклассы какие-нибудь практические задачи, или они для красоты?
источник

AL

Alexander Levin in Kotlin Community
Hadji
Кстати, я пока не добрался до этого, а вот товарищ сказал, что посмотрел на Arrow и забил на Котлин, потому что там все плохо. В подробности не ударился при этом) Интересно было бы послушать мнение тех, кто не забил сразу - насколько это годная либа для ФП? Если, к примеру, с Cats сравнить?
Ну идея такая. На чистом Котлине есть куча нюансов, вроде того, что HKT и тайпклассы не завозили в язык. Из-за этого простые вещи ок, в сложных начинаются бойлерплейт проблемы вроде явной передачи аппликативов, .fix() и тд

Но в Arrow не отчаиваются и пилят плагин для компилятора, чтобы все проблемы закрыть каким-либо образом. Работа в прогрессе, но смотреть интересно.
источник

VP

Vladimir Petrakovich in Kotlin Community
Beholder
А решают ли все эти hkt и тайпклассы какие-нибудь практические задачи, или они для красоты?
Это уже совсем другая история
источник

H

Hadji in Kotlin Community
Beholder
А решают ли все эти hkt и тайпклассы какие-нибудь практические задачи, или они для красоты?
Я проникся скаловскими имплиситами, когда довелось писать много разных моделек в таблички на Kudu. Написал энкодер из HList (который из Shapeless) в операции записи в таблицу: написал энкодеры для примитивных типов, Option, описал рекурсивную редукцию для HList - и компилятор самостоятельно выводил правила записи любого case class (тот же data class в терминах Котлин) в табличку Куду
источник

H

Hadji in Kotlin Community
Пока один раз что-то такое руками не сделал - я не особо понимал их ценность, честно говоря)
источник

BP

Bogdan Panchenko in Kotlin Community
Ничего не разобрать же
источник

H

Hadji in Kotlin Community
Т.е. если все поля в case class принадлежат тем типам, которые понятно, как переводить в операцию записи, то компилятор сам выведет, как записать всю структуру. Если нет, то выдаст ошибку на этапе компиляции
источник

I

Igor in Kotlin Community
Hadji
Я проникся скаловскими имплиситами, когда довелось писать много разных моделек в таблички на Kudu. Написал энкодер из HList (который из Shapeless) в операции записи в таблицу: написал энкодеры для примитивных типов, Option, описал рекурсивную редукцию для HList - и компилятор самостоятельно выводил правила записи любого case class (тот же data class в терминах Котлин) в табличку Куду
> Shapeless

И сколько он компилялся?.. Все мы знает что там время растет экспоненциально от кол-ва полей (в проце обычно не хеловорды)
В котлине много адхок решения, которые не дают полной абстракции и не всегда ловят ошибки в компайл тайм - но покрывают все насущные потребоности.
источник

H

Hadji in Kotlin Community
Igor
> Shapeless

И сколько он компилялся?.. Все мы знает что там время растет экспоненциально от кол-ва полей (в проце обычно не хеловорды)
В котлине много адхок решения, которые не дают полной абстракции и не всегда ловят ошибки в компайл тайм - но покрывают все насущные потребоности.
Сейчас точно не скажу, но не было какого-то критического проседания - в несколько минут компиляция укладывалась, вроде. Но там не очень сложная система была
источник

AO

Alexey Otts in Kotlin Community
Hadji
Сейчас точно не скажу, но не было какого-то критического проседания - в несколько минут компиляция укладывалась, вроде. Но там не очень сложная система была
долго, в этом плане лучше брать магнолию или макрос напрямую
источник

H

Hadji in Kotlin Community
Про магнолию не слышал. Макросы у меня были в качестве бэкап-плана, если честно) Решение на шейплесс больше понравилось
источник

H

Hadji in Kotlin Community
Ну и вообще мне их книга очень зашла: https://underscore.io/books/shapeless-guide/
Одна из лучших книг по программированию, которые я когда-либо читал)
источник

ML

Mikhail Levchenko in Kotlin Community
Hadji
Раст, Хаскелл и Лисп стоит попробовать каждому, как по мне)
Лисп-1 или Лисп-2 предпочитаешь?
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Я понимаю что языки обычно подбираются под задачи, но бывает, что один из языков очень хорошо заходит после предыдущего. Ну вот и спрашиваю, чтобы еще попробовать после котлина?
скалу?
источник

AN

Alexander Nozik in Kotlin Community
++
источник

H

Hadji in Kotlin Community
Mikhail Levchenko
Лисп-1 или Лисп-2 предпочитаешь?
Я только с clojure баловался. И SICP читал, упражнения на Racket делал какие-то
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶 in Kotlin Community
Lev Shagalov
После котлина на чем писать?
На java 14 😄
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
После скалы странно лезть в котлин
очень даже. Не всем же курить HKT, много кто и здоровый образ жизни проповедует
источник