Size: a a a

Programming Offtop

2020 August 05

(

( in Programming Offtop
Andrew Mikhaylov
Эрроуские или вообще?
Я себе, если честно, плохо представляю, как такое можно было бы более удобно делать.
эрровские
удобнее - компиляторным плагином/макросами (если бы последние были)
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Эрроуские или вообще?
Я себе, если честно, плохо представляю, как такое можно было бы более удобно делать.
Вообще. Если это не хаскель, конечно.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Вообще. Если это не хаскель, конечно.
Ну так без линз там получается лапша вроде
state.copy(user = state.user.copy(address = state.user.address.copy(...)))
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Ну так без линз там получается лапша вроде
state.copy(user = state.user.copy(address = state.user.address.copy(...)))
Ну если все делать на вложенных дата классах, да.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Ну если все делать на вложенных дата классах, да.
Ну так ровно вот тут линзы и могут быть полезны.
источник

AM

Andrew Mikhaylov in Programming Offtop
И эрроу их как раз умеет генерировать.
источник

AM

Andrew Mikhaylov in Programming Offtop
Вот и интересно, какие @happy_bracket минусы нашёл
источник

(

( in Programming Offtop
Andrew Mikhaylov
Вот и интересно, какие @happy_bracket минусы нашёл
ебли с генерацией больше, чем профита от результата
источник

I

Igor in Programming Offtop
Andrew Mikhaylov
Ну так без линз там получается лапша вроде
state.copy(user = state.user.copy(address = state.user.address.copy(...)))
А в purescript это в язык захардкожено и получится, что-то вроде
state { user { address = "TODO" } }

(держу в курсе))
источник

AM

Andrew Mikhaylov in Programming Offtop
(
ебли с генерацией больше, чем профита от результата
Ну в смысле если ты сам эту генерацию пишешь, с ней много ебли?
источник

(

( in Programming Offtop
форму стейта я меняю часто и каждый раз по 10 минут ждать перегенерации это омега пиздец
источник

AM

Andrew Mikhaylov in Programming Offtop
(
форму стейта я меняю часто и каждый раз по 10 минут ждать перегенерации это омега пиздец
А, понял
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Ну так ровно вот тут линзы и могут быть полезны.
Могут, если так делать. Я все-таки предпочитаю "так не делать", то есть защищаться от использования протухшего состояния путем его изоляции и single source of truth вместо того, чтобы плодить копии.
источник

(

( in Programming Offtop
В хаскеле они сделаны на макросах (и.е. Template Haskell) и там если даже целевой рекорд менять, все равно будут подсказочки почти сразу
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
А в purescript это в язык захардкожено и получится, что-то вроде
state { user { address = "TODO" } }

(держу в курсе))
Я думаю, в котлине это тоже решилось бы, если б позволили писать чёт вроде
state.copy(user = .copy(address = .copy(...)))
, но это я уже мечтаю
источник

(

( in Programming Offtop
Как только репл развернет выражение
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Я думаю, в котлине это тоже решилось бы, если б позволили писать чёт вроде
state.copy(user = .copy(address = .copy(...)))
, но это я уже мечтаю
Я думаю, что существенно проще сделать свою структуру вместо дата класса, в которой будет структурная копия. Это прям на либном уровне делается.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Я думаю, что существенно проще сделать свою структуру вместо дата класса, в которой будет структурная копия. Это прям на либном уровне делается.
Ась?
источник

AM

Andrew Mikhaylov in Programming Offtop
В смысле чёт вроде личи?
источник

I

Igor in Programming Offtop
Alexander Nozik
Я думаю, что существенно проще сделать свою структуру вместо дата класса, в которой будет структурная копия. Это прям на либном уровне делается.
хешмапа ... (персистент)
источник