Size: a a a

Scala User Group

2021 June 17

λ

λoλcat in Scala User Group
Дв и в се3 тоже пока. Но есть PR, чтобы он брался из рантайма:
https://github.com/http4s/http4s/pull/4782
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Вопрос про будущее: коты/котоэффекты все такие бинарно-совместимые и стараются поддерживать обратную совместимость в апи (кроме апдейта до 3.х конечно, в котором они заставили юзеров переписывать код).

Но вот тут появляется скала3, на которую если все переписать в котах/ке, то апи может измениться в лучшую сторону, инлайн флетмап и прочее хорошее. Тем не менее, они так юзеров заставят опять переписывать код. И что выходит, фич из скалы3 в котах можно не ждать?
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Я думаю они сами ещё не знают, чё делать
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
источник

λ

λoλcat in Scala User Group
Думаю, в ближайшие годы старые либы так и будут кроссконпилиться под 2.13/3 с совместимыми сорсами.
источник

М

Михаил in Scala User Group
На гитхабе у них была дискуссия про это https://github.com/typelevel/cats/issues/3757
источник

ИШ

Илья Шайдуллин... in Scala User Group
Добрый день!

Подскажите, пожалуйста, решение по такому кейсу

Есть некий метод в классе, который возвращает F[Int]
Если условие a.ids.nonEmpty истина, то for возвращает count валидного типа, но как верно обработать false вариант и вернуть константу (0 например)?

В таком варианте идет конфликт типов, т.к. во втором случае вернется Int, а не F[Int]
```
def fire[A](a: IType[A]): F[Int] =
       if (a.ids.nonEmpty) {
           for {...} yield count
       } else 0

```
источник

IA

Ivan Aristov in Scala User Group
Applicative[F].pure(0)
источник

ИШ

Илья Шайдуллин... in Scala User Group
Спасибо!
источник

IA

Ivan Aristov in Scala User Group
вот более дженерик вариант
 def fire[A](a: IType[A]): F[Int] = {
   import cats.syntax.foldable._
   a.ids.headOption.foldMapM(_ => f)
 }
, где f - функция из вашего for
источник

λ

λoλcat in Scala User Group
Так там наверное траверс какой-нибудь
источник

λ

λoλcat in Scala User Group
По айдишникам
источник

IA

Ivan Aristov in Scala User Group
ну они никуда не потеряются
источник

AD

Apache DOG™ in Scala User Group
как может быть так, что юзается specs2,  а вылетает вот такая вещь: ~foo/testOnly  com.* -- exclude tag и ругня на то, что скалатест не понимает этого аргумента
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
В билдчбт мб есть строка testFrameworks := Seq(Scalatest) или вроде?
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Что спекс2 не распознаётся, потому что исключен
источник

AD

Apache DOG™ in Scala User Group
не-а в депсах даже нет скалатеста и подобных настроек
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Скала тест там в дефолтах
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Его можно исключить
источник
2021 June 18

ИШ

Илья Шайдуллин... in Scala User Group
Добрый день!

Подскажите как такое преобразование сделать:
F[Vector[Int]] => Vector[Int]

В cats есть такое решение: UnorderedFoldable
F[A] => A unorderedFold

Не пойму, как описать выражение

Пробовал так
UnorderedFoldable[F].unorderedFold[Vector[Int]](fIntVector)
Где fIntVector: F[Vector[Int]]

Что можно почитать про ФП и scala?
источник