Вам какие тайпклассы нужны?

|
danicheg 2022-06-25 11:19:25
это уже попахивает AbstractSingletonProxyFactoryBean
coffius 2022-06-25 11:20:34
А что сча у ZIO с их собственными type class-ми?
say_nyaa 2022-06-25 11:44:21
zio-interop-cats
skucherenko 2022-06-25 11:47:58
coffius 2022-06-25 11:20:34
А что сча у ZIO с их собственными type class-ми?

дегуз считает, что тайпклассы это так себе

skucherenko 2022-06-25 11:48:18
не слышал, чтобы это изменилось
say_nyaa 2022-06-25 11:51:23
Есть Diff в zio-test. Есть кодеки в zio-json. Есть Gen в тестах опять же. Вам какие тайпклассы нужны?
apache_dog 2022-06-25 11:52:05
То как их предлагают использовать котофеи в виде F:Shtuka в коде приложения и впрямь похоже на ритуал
skucherenko 2022-06-25 11:55:33
say_nyaa 2022-06-25 11:51:23
Есть Diff в zio-test. Есть кодеки в zio-json. Есть Gen в тестах опять же. Вам какие тайпклассы нужны?

scala_ru-340732.jpg

say_nyaa 2022-06-25 11:56:34
Мне как-то на собесадовании кандидат не смог рассказать как запросить Codec для T в метод, но смог сказать как получить монаду для F[_]… и даже после этого не ответил про кодек. Так что таки да: ритуал. Что згачит подчеркивание в F[_] он тоже не рассказал.
catostrophe 2022-06-25 11:59:38
say_nyaa 2022-06-25 11:56:34
Мне как-то на собесадовании кандидат не смог рассказать как запросить Codec для T в метод, но смог сказать как получить монаду для F[_]… и даже после этого не ответил про кодек. Так что таки да: ритуал. Что згачит подчеркивание в F[_] он тоже не рассказал.

дырка, для утечки файберов

apache_dog 2022-06-25 12:00:14
Прилеплять функционал к F помимо стандартного средствами вот этого не самое очевидное занятие, тоже, подкидывая имплиситсми не весть откуда взявшиеся имплементации
say_nyaa 2022-06-25 12:00:57
apache_dog 2022-06-25 12:00:14
Прилеплять функционал к F помимо стандартного средствами вот этого не самое очевидное занятие, тоже, подкидывая имплиситсми не весть откуда взявшиеся имплементации

Дегуз, перелогиньтесь.

catostrophe 2022-06-25 12:03:48
https://twitter.com/Kordyjan/status/1540269199821504514

Scala Steward воскресили

Twitter
We have set up a new instance of #Scala Steward (using the original GH account) 🥳. It will go public in a few days.
If you want it tested on your library sooner, just message @pikinier_vl or mail scala_steward@virtuslab.com
odomontois 2022-06-25 12:04:02
catostrophe 2022-06-25 11:13:45
Можешь на пальцах объяснить

Найти бы гист, но представь, что ты пишешь луп, есть

case class FlatMap[A, B](first: IO[A], then: A => IO[B]) extends IO[B]

у тебя функция навроде
def runSync(io: IO[A]): A

делаешь match

case FlatMap(inner, f) =>

стандартный выбор — положить f на искуственный стек, но можно

вместо этого
сделать
runSync(f(runSync(inner)))

это не стекобезопасно в общем случае, но у тебя есть немножко жава стека, поэтому пока тебе его хватает, это будет выгоднее искуственного стека

поэтому идея в том чтобы внутри сделать что-то вроде

if(depth < critical) then do
depth = 1
directRecursion
depth -= 1
else
putContinuationOnStack

funfunfine 2022-06-25 12:10:32
danicheg 2022-06-25 11:18:35
_ замененный на Discard тоже норм

Это ж все ещё из зио1 пошло, ты как-то поздно набрасываешь

simpadjo 2022-06-25 12:12:23
danicheg 2022-06-25 11:19:25
это уже попахивает AbstractSingletonProxyFactoryBean

Enterprise Java Bind

odomontois 2022-06-25 12:16:46
Что характерно, что в обычном императивном программировании мы же не занимаемся бесконечной рекурсией.
Можно было бы вообще для всех асинхронных циклов ввести специальные конструкторы и редьюсить только через жава стек
odomontois 2022-06-25 12:17:27
А еще лучше JIT компилировать монадки через graal truffle
skucherenko 2022-06-25 12:20:04
да и вообще монадок не иметь, писать в direct syntax
danicheg 2022-06-25 12:29:29
funfunfine 2022-06-25 12:10:32
Это ж все ещё из зио1 пошло, ты как-то поздно набрасываешь

это все из доков миграции с 1 на 2. так что Тащи (Тачи/Таки?) не быкуй

|