Как превратить Option[ZIO[R, E, A]] в ZIO[R, E, Option[A]]? С collectAll не компилируется: https://scastie.scala-lang.org/6GqqrxFsRzuAe3Iyx5jQpQ
https://scastie.scala-lang.org/k8optGPqR8aaPByTTtuPzQ Как работает такое применение экстрактора? Увидел в коде http4s и не понимаю, что происходит.
Как в тестах изолировать код, который работает с Doobie? Вот у меня есть такой сервис: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/bot...
https://scastie.scala-lang.org/g3XjOpvmTISLHrGNI7mVdw Хочу при создании ZLayer выполнить сайдэффект над его содержимым, что-то типа flatTap. Получилось довольно уродливо, можн...
Пытался подружить supertagged и skunk, но заблудился в типах. Как описать метод cimap так, чтобы можно было вызывать его просто как int8.cimap[UserId], без Tag? https://scasti...
https://gitter.im/ZIO/Core?at=5ce6a1fc75d9a575a62f54a1 Джон здесь упоминает интересный синтаксис для параллельного запуска ZIO-эффектов, но не понимаю, как это должно работать...
Видел, что в tofu есть что-то для кэшей. Мне в приложении нужно запрашивать и держать в памяти мапу с курсами валют, пытался использовать голый Ref, но для него как-то мало пр...
https://scastie.scala-lang.org/VQ9LsQqGSaOBd8b4byHujQ Как переписать такой код на Scala 3, с given вместо implicit?
Чем newtype принципиально отличается от Supertagged? Эти библиотеки делают одно и то же или области их применения в чем-то различаются?
И я не понимаю, почему по дефолту наследуемые классы/интерфейсы отделяются двоеточием с двумя пробелами class FooImpl : Foo, а тип возвращаемого значения функции двоеточием с ...
sealed abstract class Dialog { type State type Event def transition(event: E): Dialog } Как в сигнатуре метода transition описать, что в возвращаемом Dialog типы State...
При всем уважении к Скале и ТФ для стартапа бы советовать это не стал, где потом искать разработчиков, если кто-то уйдет или понадобится расширяться? Для небольшой команды быс...
@sugakandrey Прошу подсказать, попало ли исправление https://youtrack.jetbrains.com/issue/SCL-17213 в билды? Воспроизводится, все тесты на zio краснит.
Продолжаю приключения с member types - как теперь создать Circe Encoder/Decoder для такой sealed-иерархии? Автовывод ожидаемо не справился. sealed abstract class Dialog { sel...
Поясните по инлайн классам. Не является ли недоступность типа инлайн класса в рантайме таким же недостатком, как type erasure у дженериков? Как там с аннотациями, они будут ви...
Как объявить extension method, возвращающий тайп-мембер класса? https://scastie.scala-lang.org/M9YRJBLJTK6ad9yzQWGe7A Ошибка компиляции "private value self escapes its definin...
Coursier на Windows 10 складывает свой кэш в папку проекта: https://github.com/sbt/sbt/issues/5206 Есть какой-нибудь workaround? Пробовал устанавливать переменную среды COURSI...
Объясните, являются ли чистыми функции, которые используют переменные из closures? В определениях чистых функций и ссылочной прозрачности, которые я видел, говорится, что функ...
"The work-around is to create a combined higher-order function to keep the use-site of multiple aspects clean-looking" HOF для каждой возможной комбинации аспектов? Что, если ...
Помогите с ZLayer: https://scastie.scala-lang.org/MmzgapPlTiO4z63QqqLVtg Как реализовать вертикальную композицию слоев, не удовлетворяя явно зависимость от стандартного модуля...