Ктонить юзает scalaz/cats в прадакшене?

Вопрос любопытства чисто к местным скалистам, не холивору раде (хотя раде тоже).

Имееться ввиду не умники-одиночки, втихаря пропихнувшие оператор «\/>» в закрома кода, а чтобы прям полноценно с полноценным фп с блекджеком и шлюхами аппликативными алгебрами и натуральными трансформациями.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Ктонить юзает scalaz/cats в прадакшене
Только компании с неограниченным бюджетом и временем на разработку могут юзать этот матан в продакшне. Например, google со своей advertising cash machine. Но, «к сожалению», у гугла уже есть go :) dou.ua/forums/topic/16012

Юзается, но это полный ахтунг. Стоимость разработки на самом деле космическая!

немогли бы вы развернуть немного мысль, и расписать в чем космичность разработки выражаеться ?

от я что то обоих очкую.
Я знаю я не настоящий сварщик, но это пздц с точки зрения бизнеса все таки если быть до конца честным.

А вот реально, какой тру вэй делать обработку ошибок?

Вроде в Интернетах сошлись на мнении что возвращать Try не вариант, что куда лучше использовать более гибкий Either. Но если Either, тогда должен быть нормальный Either, которые не ставит раком во время мэппингов, то есть \ / из scalaz. Дальше хотелось бы сделать функции ассинхронными, а значит оборачиваем \ / в Future и получаем монаду в монаде. И вот тут уже начинается адок, где без трансофрмеров монад не обойтись.

Вроде в Интернетах сошлись на мнении что возвращать Try не вариант, что куда лучше использовать более гибкий Either.
Мое личное имхо Try для большинства задач более чем достаточно, разница с Either по сути только в том, что вместо тровебл можна определить свой тип. У меня такой необходимости не возникало.
Но если Either, тогда должен быть нормальный Either, которые не ставит раком во время мэппингов,
А чем он ставит раком ? необходимостью сдалать проджекшн ? Нету там ничего сложного и геморного, я бы не тянул целую либу токо из за этого.
Дальше хотелось бы сделать функции ассинхронными, а значит оборачиваем \ / в Future и получаем монаду в монаде.
Не Future, а scalaz.concurrent.Task, и оборачивать там в большенстве случаев нет необходимости — ибо можна просто фейлить таску.

Хотите и без того неблагодарный труд поддержки легаси-проектов превратить в ад?

Підписатись на коментарі