Size: a a a

Elm Lang сообщество разработчиков

2020 November 05

IR

Ilya Rezvov in Elm Lang сообщество разработчиков
А что от неё толку если композицию нормально не сделать
источник

K

Kir in Elm Lang сообщество разработчиков
Можно линзы в призмы перегонять. Травёрсалы только непонятно как делать.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
никак без HKT
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Kir
type alias Prism s a = s -> Maybe (a, a -> s)
type alias Lens  s a = s ->       (a, a -> s)

Кто-нибудь работал в Эльме с такой оптикой?
Такой нет, потому что это ванлаарховеновские линзы, а там быстро функтор нужен становится
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Есть костыльные линзы в пакетах. Они даже как-то композятся, но не как функции, конечно
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Призмы и траверсалы уже не сделать
источник

K

Kir in Elm Lang сообщество разработчиков
(ну да это и не призма, на самом деле)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это просто линза в мейби
источник

K

Kir in Elm Lang сообщество разработчиков
Композиция-то ладно, руками напишу
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Ты посмотри, какие-то пакеты для линз есть. Даже Эван делал такой, но быстро понял, что нормальное не получится и с тех пор говорит всем, что оптика неэльмична :)
источник

K

Kir in Elm Lang сообщество разработчиков
Хе-хе
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это же очень удобно — тихонько попробовать, обломаться, а потом сказать: "just as planned!"
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
и композится, но не уверен что удовлетворит ценителей
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Монокль я пробовал. В принципе - работает. На деле же настолько вербозно, что нужно очень хотеть оптики, чтобы такое терпеть. Я пока просто не делаю такие большие и сложные структуры, для которых монокль упрощал бы жизнь, а не усложнял...
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Для моделей я вообще не уверен в пользе оптики: модель отражает состояние UI, поэтому хождение в глубь лучше сразу заменить на делегирование вьюх и апдейтов.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
С неотображаемым состоянием, лежащим рядом с моделью интерфейса можно и с помощью линз поработать, да.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Denis Krivosheev
и композится, но не уверен что удовлетворит ценителей
Главная проблема тут в том, что нельзя скомпозить lens+prism или prism+lens, а если iso добавить, то будет шесть комбинаций! Поэтому торчат все эти Prism.fromIso и Lens.fromIso
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
мы отказались от линз вообще, в нашем случае от них проблем больше чем пользы
источник