Size: a a a

Scala User Group

2020 June 06

VH

Vitalii Honta in Scala User Group
В shapeless функция everywhere есть, она по типу ищет и применяет функцию
источник

AS

Alex Sh in Scala User Group
С shapeless я на оч. базовом уровне знаком 😕
источник

AS

Alex Sh in Scala User Group
Поэтому хотелось что-то готовое найти
источник

VC

Vadim ChelyshOv in Scala User Group
quicklens норм - не надо инстансы руками колбасить
источник

M

Mikhail in Scala User Group
Alex Sh
С такими кейсами понятно, что нельзя.
Я говорю только про те кейсы, когда когда конечный тип в линзе является уникальным
Это плохой код. Сегодня у тебя на 3-ем уровне типом Т было одно поле, а завтра стало называться по другому и поменялась семантика поля, а линза осталась та же, которая семантически была привязана к предыдущему полю и никакой компилятор не сможет подсказать, что изменилось что-то значимое и ты тоже не обратишь на это внимание. Поэтому в этом плане подобный автоматический подход на основе  поиска уникальных вложенных типов с учетом произвольной вложенности - не рационален, лишний способ выстрелить себе в ногу на пустом месте, undefined behavior и т.д.
источник

AS

Alex Sh in Scala User Group
Mikhail
Это плохой код. Сегодня у тебя на 3-ем уровне типом Т было одно поле, а завтра стало называться по другому и поменялась семантика поля, а линза осталась та же, которая семантически была привязана к предыдущему полю и никакой компилятор не сможет подсказать, что изменилось что-то значимое и ты тоже не обратишь на это внимание. Поэтому в этом плане подобный автоматический подход на основе  поиска уникальных вложенных типов с учетом произвольной вложенности - не рационален, лишний способ выстрелить себе в ногу на пустом месте, undefined behavior и т.д.
Плохой код - это стена текста с определениями линз для всех комбинаций.
источник

M

Mikhail in Scala User Group
Alex Sh
Плохой код - это стена текста с определениями линз для всех комбинаций.
Найди замену, просто не оставляй выбор за компилятором)
источник

AS

Alex Sh in Scala User Group
Mikhail
Найди замену, просто не оставляй выбор за компилятором)
Я компилятору доверяю больше чем себе :)
источник

Э

Эд in Scala User Group
я запутался
источник

Э

Эд in Scala User Group
человек на интервью говорит, что dotty выйдет ещё. А в инете есть уже dotty
источник

Э

Эд in Scala User Group
что происходит?
источник

ZM

ZLoyer Matveev in Scala User Group
Эд
человек на интервью говорит, что dotty выйдет ещё. А в инете есть уже dotty
Высокий и в очках?
источник

S

Simon in Scala User Group
Alex Sh
С shapeless я на оч. базовом уровне знаком 😕
наслаждайся:
https://scastie.scala-lang.org/DtgqXLKoT5KH1qlj5tky7Q

дурное дело не хитрое
источник

Э

Эд in Scala User Group
ZLoyer Matveev
Высокий и в очках?
В очках и может двигаться в 4 измерение
источник

ZM

ZLoyer Matveev in Scala User Group
Эд
В очках и может двигаться в 4 измерение
https://github.com/lampepfl/dotty/releases

Релиз кандидаты есть, а релиза еще нет.
источник

Э

Эд in Scala User Group
тогда ещё подожду)
источник

S

Simon in Scala User Group
одна проблема: берется первое попавшееся поле подходящего типа. при желании, конечно, можно отлавливать наличие нескольких полей и падать, но мне лень
источник

S

Simon in Scala User Group
ну и для такой разлапистой функуиональности уже проще будет магнолию взять
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Alex Sh
Можт какие-нть другие линзы такое могут?
quicklens? tofu-optics? 🤔
а что нужно?
источник

AS

Alex Sh in Scala User Group
Вот такое хочется
источник