Size: a a a

Scala User Group

2021 February 18

EK

Evgenii Kuznetcov in Scala User Group
Теоркат не нужен, Hask не категория
источник

EK

Evgenii Kuznetcov in Scala User Group
Лямбда исчисление не нужно, чтобы понять ФП. Я, кстати, имел большие проблемы с пониманием untyped lc, т.к. после работы с типизированными языками думал, что термы обязаны иметь какой-то смысл (типизироваться)
источник

EK

Evgenii Kuznetcov in Scala User Group
А вот курс Software foundations (in Coq) тема
источник

MK

Mikhail Kalugin in Scala User Group
Evgenii Kuznetcov
Теоркат не нужен, Hask не категория
Биохимия не нужна (для сыроварения). Hask - категория (объекты - типы Haskell, стрелки - функции). За курс - спасибо, интересный.
источник

VM

Vladimir Morozov in Scala User Group
Всем привет, есть вот такой код: https://scastie.scala-lang.org/greenhost87/sqrQkoPnSnGw56r9iFgH7A есть какой-то способ избавиться от копипаста onShowDetails и onHideDetails, на уровне trait нет возможности сделать copy…
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Vladimir Morozov
Всем привет, есть вот такой код: https://scastie.scala-lang.org/greenhost87/sqrQkoPnSnGw56r9iFgH7A есть какой-то способ избавиться от копипаста onShowDetails и onHideDetails, на уровне trait нет возможности сделать copy…
можно вот так
https://scastie.scala-lang.org/V0Ll65ztSNCUmIAfM91ObA
не без минусов, но просто
источник

VM

Vladimir Morozov in Scala User Group
а совсем избавиться от необходимости дублировать одно и тоже в каждом case class?
источник

S

Saitama in Scala User Group
Vladimir Morozov
а совсем избавиться от необходимости дублировать одно и тоже в каждом case class?
источник

S

Saitama in Scala User Group
не совсем про избавиться, но можно вынести
источник

VM

Vladimir Morozov in Scala User Group
Спасибо
источник

НМ

Никита Мязин... in Scala User Group
только не делайте так, если у вас не sealed trait, если не хотите потом проблем огрести
источник

MK

Mikhail Kalugin in Scala User Group
Никита Мязин
только не делайте так, если у вас не sealed trait, если не хотите потом проблем огрести
В смысле мало ли где эту трейту потом еще используют, если она не sealed?
источник

НМ

Никита Мязин... in Scala User Group
Mikhail Kalugin
В смысле мало ли где эту трейту потом еще используют, если она не sealed?
да
источник

НМ

Никита Мязин... in Scala User Group
вряд ли кто-то при добавлении нового наследника к обычному трейту догадается ходить по всему коду и искать, где на этих наследников матчатся
источник

S

Saitama in Scala User Group
Vladimir Morozov
Спасибо
можете еще избавиться от ItemDetailsState, если он нужен только для этого функционала
https://scastie.scala-lang.org/DxMjtl5JQk2zDO0aoQgP5Q
источник

VM

Vladimir Morozov in Scala User Group
Saitama
можете еще избавиться от ItemDetailsState, если он нужен только для этого функционала
https://scastie.scala-lang.org/DxMjtl5JQk2zDO0aoQgP5Q
ну это просто пример, на практике наследников полтора десятка и избавится от них не получится, плюс подобных мутаций тоже больше
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Vladimir Morozov
ну это просто пример, на практике наследников полтора десятка и избавится от них не получится, плюс подобных мутаций тоже больше
Может имеет смысл тогда посмотреть на линзы?
источник

VM

Vladimir Morozov in Scala User Group
Юрий Бадальянц
Может имеет смысл тогда посмотреть на линзы?
Вполне может быть, у меня нет опыта с ними - если вы можете дать линк на статью или доку где описывается примерно этот кейс, я буду очень благодарен
источник

ΑZ

Αλεχ Zhukovsky in Scala User Group
Mikhail Kalugin
Все ФП, что в scala, что в haskell, что в C++ крутится вокруг двух глубоко математических концепций - лямбд и категорий. Вопрос «есть ли жизнь без кошек?» давайте пока не будем рассматривать.
А у боксера фп это поединок с тайпчекером
источник

ΑZ

Αλεχ Zhukovsky in Scala User Group
А у шахматиста - сложная партия
источник