Size: a a a

Scala User Group

2019 December 30

AV

Abyr Valg in Scala User Group
Проект разросся сильно
источник

EP

Easycore Programming in Scala User Group
Ребят такой тупой вопрос, есть вот у нас IO монада из cats.effect, как мне проверить на ней к примеру left identity law?
источник

AV

Abyr Valg in Scala User Group
полтора часа на полный билд. Главный оффендер - тайпскрипт, но сборка скалы тоже минут десять отжирает
источник

AV

Abyr Valg in Scala User Group
спасибо, кстати. Реально полезно, надеюсь на практике будет похоже
источник

AV

Abyr Valg in Scala User Group
Easycore Programming
Ребят такой тупой вопрос, есть вот у нас IO монада из cats.effect, как мне проверить на ней к примеру left identity law?
тест написать
источник

EP

Easycore Programming in Scala User Group
Abyr Valg
тест написать
Да но как его правильно написать, ведь IO(x).flatMap(f) == f(x) не вернёт мне true
источник

AV

Abyr Valg in Scala User Group
class MonadLaws[F[_] : Monad : Runnable] {

 import syntax._

 def leftIdentity[A](a: => A, f: A => F[A]): Boolean = {
   Cat(a).flatMap(f).run() == f(a).run()
 }

 def rightIdentity[A](m: F[A]): Boolean = {
   m.run() == m.flatMap(a => Cat(a)).run()
 }

 def associativity[A](m: F[A], f: A => F[A], g: A => F[A]): Boolean = {
   val combined = (x: A) => f(x).flatMap(g)
   m.flatMap(f).flatMap(g).run() == m.flatMap(combined).run()
 }

}
источник

AV

Abyr Valg in Scala User Group
примерно вот так
источник

EP

Easycore Programming in Scala User Group
А то есть надо дёрнуть run
источник

AV

Abyr Valg in Scala User Group
но проблема в том, что проверять надо для всех a для каждого A, что , очевидно, невозможно
источник

EP

Easycore Programming in Scala User Group
ну я так и думал, спасибо друзья!!
источник

AV

Abyr Valg in Scala User Group
Друзья все на джаве пишут, а мы подсказываем, хреново подсказываем
источник

EP

Easycore Programming in Scala User Group
Но всё равно спасибо
источник

λƒ

λesha ƒomkin in Scala User Group
@jey_lee единственный человек на моей памяти, который в этом чате получил бан в свое время.
источник

λƒ

λesha ƒomkin in Scala User Group
Вчера под другим ником опять был мат.
источник

λƒ

λesha ƒomkin in Scala User Group
Так что можно считать это последним предупреждением.
источник

AV

Abyr Valg in Scala User Group
Дай душеньке разгуляться
источник

DM

Daniel Matveev in Scala User Group
λesha ƒomkin
@jey_lee единственный человек на моей памяти, который в этом чате получил бан в свое время.
не единственный, просто ты выпилился в свое время

скорее единственный на кого глаза закрываем
источник

AT

Aλeksei Tereχin in Scala User Group
И не закрываем, в коке написано что только оффенсив мат плохо, остальное это вы сами придумали. А жей ли мата оффенсив не выдавал, только как восклицания. Но я понимаю, 19ый век всё-таки. Табу.
источник

DM

Daniel Matveev in Scala User Group
Aλeksei Tereχin
И не закрываем, в коке написано что только оффенсив мат плохо, остальное это вы сами придумали. А жей ли мата оффенсив не выдавал, только как восклицания. Но я понимаю, 19ый век всё-таки. Табу.
в коке еще написано "на все воля админа и случая (с какой ноги админ встал)"
источник