Size: a a a

Scala User Group

2021 January 05

λ

λoλdog in Scala User Group
λoλcat
[R[_] : Functor]
Лучше сразу синк
источник

VS

Vladimir Sapronov in Scala User Group
λoλcat
[R[_] : Functor]
Это ведь коты?
Вообще. Идея как раз в том, что один и тот же код можно было и с футцрами и с котами. (Пытаемся начать переходить на коты).

Но в данной конкретной либе не могу добавить зависимость на коты. Собсна та зависимость на Future, что уже есть - ее я как раз выпиливаю....
источник

λ

λoλcat in Scala User Group
Это не коты
источник

λ

λoλcat in Scala User Group
Это паттерн тайпкласс
источник

λ

λoλcat in Scala User Group
Можно свой написать, можно взять из любой либы, где есть что-то похожее
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Vladimir Sapronov
Это ведь коты?
Вообще. Идея как раз в том, что один и тот же код можно было и с футцрами и с котами. (Пытаемся начать переходить на коты).

Но в данной конкретной либе не могу добавить зависимость на коты. Собсна та зависимость на Future, что уже есть - ее я как раз выпиливаю....
тф иногда используют как «один и тот же код с футурами и cats-effect»
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
но обычные cats вроде тут не при чем, они просто предоставляют пачку функторов, монад и прочих
источник

VS

Vladimir Sapronov in Scala User Group
Так чот я перегрелся, пока не получается вкорячить свой Functor: https://scastie.scala-lang.org/gvsO4LJ9TaCtlU3YZLamFQ
источник

GP

Grigory Pomadchin in Scala User Group
implicitly[Functor[R]].map(workResult){ response => MyResponse(response) }
источник

GP

Grigory Pomadchin in Scala User Group
что бы работало как ты хочешь надо свой синтакс налепить
источник

λ

λoλdog in Scala User Group
Ну потомок что синтаксиса нет, да инстанса тож
источник

GP

Grigory Pomadchin in Scala User Group
[R[_]: Functor] это [R[_]](implicit ev0: Functor[R])
источник

VS

Vladimir Sapronov in Scala User Group
Grigory Pomadchin
[R[_]: Functor] это [R[_]](implicit ev0: Functor[R])
Воу, т.е. это не значит, что R имеет метод map?
источник

GP

Grigory Pomadchin in Scala User Group
Vladimir Sapronov
Воу, т.е. это не значит, что R имеет метод map?
это значит, что R у тебя имеет некое свойство Functor (я так читаю)
источник

GP

Grigory Pomadchin in Scala User Group
т.е. R - функтор у тебя тут
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Vladimir Sapronov
Воу, т.е. это не значит, что R имеет метод map?
если вы еще напишете имплисит класс, то будет
источник

GP

Grigory Pomadchin in Scala User Group
мне кстати кажется что симулакрам пихает функтор в конструктор
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Grigory Pomadchin
мне кстати кажется что симулакрам пихает функтор в конструктор
ну да, так и надо бы, тогда в идее будет норм подсказка
источник

GP

Grigory Pomadchin in Scala User Group
ага
источник

GP

Grigory Pomadchin in Scala User Group
а то он на любой F у тебя будет кучу ненужных методов подсказывать
источник