Size: a a a

Scala User Group

2021 June 04

ΛВ

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

a

aeon in Scala User Group
я проболвал с Sync
источник

a

aeon in Scala User Group
не работает
источник

a

aeon in Scala User Group
точнее мне изначально надо было Sync[F]
источник

a

aeon in Scala User Group
потому что оно в конечном итоге приходит к тому что метод идёт из синтаксиса MonadError
источник

a

aeon in Scala User Group
я в скасти сделал пример на кастомных типах
источник

a

aeon in Scala User Group
https://youtrack.jetbrains.com/issue/SCL-19124
поплюсуйте багтикет кому такой баг встречался
источник

T

Tim in Scala User Group
помогите решить доктринальный конфликт

есть мнение что case class это и есть модель в смысле данные + трансформации, поэтому в него пихают много разных трансформационных методов (не withXXX которые типа factory, а которые типа линз)

и есть мнение что первое мнение это объектно-ориентированная ересь, что case class должен быть pure ADT, а все трансформации должны быть функциями в companion object или вообще отдельно, в трейте ZZZOps

есть третье мнение что первые два мнения это  вкусовщина
источник

P

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

3 как по мне, главное что бы было везде одинаково, а не где-то так, а где-то так. мы вот довольно жестко на оптиках сидим.
источник

M

Mikhail in Scala User Group
pure  практичнее. вычислимые доп.поля - не мешают, а вот методы-расширения очень даже мешаются в основном теле
источник

T

Tim in Scala User Group
в пользу второго - иногда в трансформациях может быть что-то, не атрибут case class (то есть его например не надо сериализовать), но атрибут именно трансформации
типа clock, который в unit test хорошо уметь встроить отдельно
источник

P

Pavel in Scala User Group
мне кажется в скале 3 таких дискуссий будет меньше и удобнее использовать extension методы
источник

EK

Evgenii Kuznetcov in Scala User Group
ООП-ересь - это считать, что эти методы - неотъемлимая часть этого класса и строить из этого политическую программу.

Если же хочется добавить методы просто потому что вызов через точку приятнее - почему нет. Просто нужно не стесняться эти методы выносить наружу, если в будущем окажется, что они мешают
источник

EK

Evgenii Kuznetcov in Scala User Group
Короче, чем спорить об этом, лучше бы акку удалили
источник

ΛВ

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

Oℕ

Oleg ℕizhnik in Scala User Group
3
источник

Oℕ

Oleg ℕizhnik in Scala User Group
метод кейс класса это же просто функция на кейсклассе, которую удобно найти и приятно применять
источник

Oℕ

Oleg ℕizhnik in Scala User Group
как и для любого иммутабельного типа
источник

IT

Igal Tabachnik in Scala User Group
+
источник

VS

Vladimir Sapronov in Scala User Group
Есть ли тут знатоки circe?
источник