tagless final зачем нибудь нужен в прикладной разработке? А то я пока увидел только поинт для либ, чтоб желающим можно было выбрать между фьючей, мониксовыми тасками и тд
Для контроля структуры приложения. Логических зависимостей, эффектов, требований и т.п. ТФ для выбора монадки - это minor Ещё частоупоминаемое - упрощение тестирования, но оно следует из первого
Пример, при допущении тотальных чистых методов что делает код def foo(userName: String, status: Status): IO[Boolean] что делает код def foo[F[_] : Monad : WriteTable[Users, ?[_]] : Logging : Raise[UserNotFoind, ?[_]] ](userName: String, status: Status): F[Boolean]
Обсуждают сегодня