Size: a a a

2020 November 20

MP

Misha Puzanov in Haskell
ну это ожидаемо, вопрос наверное в том, насколько далеко в выражении два апдейта для разных полей должны стоять, чтобы он перестал это превращать в один апдейт
источник

к

кана in Haskell
ну проверил цепочку let-ов, тоже все ок
источник

MP

Misha Puzanov in Haskell
и у меня еще генерические линзы поверх всего этого
источник

к

кана in Haskell
let a = x { a = 1 } in let b = a { b = 2 } in b

вот такую
источник

MP

Misha Puzanov in Haskell
вот там наверное самая дичь будет
источник

к

кана in Haskell
а вот апдейты линзовые уже не факт что схлопнутся
источник

к

кана in Haskell
точнее я уверен что не схлопнутся
источник

к

кана in Haskell
потому что там Identity еще будет в промежутке
источник

MP

Misha Puzanov in Haskell
мда
источник

MP

Misha Puzanov in Haskell
ну ладно, думаю, что терпимо будет
источник

MP

Misha Puzanov in Haskell
очень уж удобно получается линзо-апдейты композить цепочками
источник

MK

Maxim Koltsov in Haskell
Так вы проверьте
источник

MK

Maxim Koltsov in Haskell
У ковайников вон в игрушечной профункторной линзо либе были инспекшен тесты что схлопывается
источник

MK

Maxim Koltsov in Haskell
Только не надо это в ghci проверять, наверное там нужные оптимизации не срабатывают ещё
источник

к

кана in Haskell
не смержил
источник

к

кана in Haskell
Maxim Koltsov
Только не надо это в ghci проверять, наверное там нужные оптимизации не срабатывают ещё
а ну хм да
источник

MP

Misha Puzanov in Haskell
лучше спать
источник

MP

Misha Puzanov in Haskell
проверять потом, когда лучше будет понятно какой именно API я все-таки хочу
источник

MK

Maxim Koltsov in Haskell
Misha Puzanov
лучше спать
+100500
источник

YR

Yuki Rito in Haskell
люди, как вы боритесь с циклич. зависимостями? Нет-нет, да вылезет где-нибудь. Там же была какая-то прагма, но не знаю это нормально ли вообще...
источник