Size: a a a

Scala User Group

2020 June 13

SM

Sergey M in Scala User Group
Ок сейчас поменяю
источник

SM

Sergey M in Scala User Group
Михаил
Какая версия компилятора у тебя? В скасти последняя по дефолту
Пиу Пиу!!
Работает!
Спасибо
А можешь объяснить почему в 2.12 не работало?
источник

М

Михаил in Scala User Group
В 2.13 какие-то баги с вариансом фиксили, но про именно это из релиз ноутов не помню ничего
источник

SM

Sergey M in Scala User Group
Ok
Спс 👍
источник

Oℕ

Oleg ℕizhnik in Scala User Group
cf.handle[Promise[A]]  в 2.12
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в 2.12 вывод типов не может из-за страшного джавового подхода к call-site-variance вывести тайп-параметр
источник

Oℕ

Oleg ℕizhnik in Scala User Group
он понял, что функция возвращает Promise[A], но дальше, исходя из баунда, он должен подставить какой-то из надтипов Promise[A]
источник

Oℕ

Oleg ℕizhnik in Scala User Group
никаких специальных хаков на этот счёт не было, в 2.13 специально завели хаки, чтобы лучше с джавой интегрироваться, но, конечно, лучше бы жава ввела уже нормальную ковариантность
источник
2020 June 14

N

Nikolai in Scala User Group
Привет. Начал потихоньку вкатываться в тф и напоролся на то, что http4s.BlazeClientBuilder требует целый ConcurrentEffect и из-за этого мне приходится тянуть его через половину проекта. Если я правильно понимаю, то ConcurrentEffect слишком много может и как следствие противоречит идее тф об атомарности тайпклассов. Вопрос: правильно ли я это понимаю и если да, то как этого избежать? Использовать какую-нибудь другую библиотеку для http? Или это абсолютно нормальное явление?
источник

λ

λoλcat in Scala User Group
Nikolai
Привет. Начал потихоньку вкатываться в тф и напоролся на то, что http4s.BlazeClientBuilder требует целый ConcurrentEffect и из-за этого мне приходится тянуть его через половину проекта. Если я правильно понимаю, то ConcurrentEffect слишком много может и как следствие противоречит идее тф об атомарности тайпклассов. Вопрос: правильно ли я это понимаю и если да, то как этого избежать? Использовать какую-нибудь другую библиотеку для http? Или это абсолютно нормальное явление?
Вам этот ConcurrentEffect понадобиться для машинерии с сервером. В бизнес-логику он не протечет.
источник

λ

λoλcat in Scala User Group
А в инициализации приложения допустимо требовать что угодно
источник

АР

Андрей Романов... in Scala User Group
Nikolai
Привет. Начал потихоньку вкатываться в тф и напоролся на то, что http4s.BlazeClientBuilder требует целый ConcurrentEffect и из-за этого мне приходится тянуть его через половину проекта. Если я правильно понимаю, то ConcurrentEffect слишком много может и как следствие противоречит идее тф об атомарности тайпклассов. Вопрос: правильно ли я это понимаю и если да, то как этого избежать? Использовать какую-нибудь другую библиотеку для http? Или это абсолютно нормальное явление?
возможно, вам поможет IOApp

посмотрите в документации, что это
источник

N

Nikolai in Scala User Group
λoλcat
Вам этот ConcurrentEffect понадобиться для машинерии с сервером. В бизнес-логику он не протечет.
С сервером всё так. Но вот клиент протекает, разве нет? Получается что часть бизнес логики будет всё равно тянуть ConcurrentEffect
источник

N

Nikolai in Scala User Group
Андрей Романов
возможно, вам поможет IOApp

посмотрите в документации, что это
IOApp же просто приносит имплицитные Timer и ContextShift, разве нет?
источник

N

Nikolai in Scala User Group
Nikolai
IOApp же просто приносит имплицитные Timer и ContextShift, разве нет?
Мне интересно, можно ли как-то избежать такой сильной вещи как ConcurrentEffect
источник

АР

Андрей Романов... in Scala User Group
Nikolai
IOApp же просто приносит имплицитные Timer и ContextShift, разве нет?
так же IO, из которого по context bound в нужных классах вы вытащите ConcurrentEffect
источник

N

Nikolai in Scala User Group
Андрей Романов
так же IO, из которого по context bound в нужных классах вы вытащите ConcurrentEffect
Проблемы в том, чтобы его получить у меня нет
источник

АР

Андрей Романов... in Scala User Group
возможно ошибаюсь, если да, то поправьте
источник

N

Nikolai in Scala User Group
Я наоборот пытаюсь его избежать где возможно
источник

IA

Ivan Aristov in Scala User Group
Nikolai
С сервером всё так. Но вот клиент протекает, разве нет? Получается что часть бизнес логики будет всё равно тянуть ConcurrentEffect
Клиент тоже можно создать наверху или что-то мешает?
источник