Size: a a a

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

2020 July 06

p

philipp in Elm Lang сообщество разработчиков
например MainMsg PageMsg ContentMsg FormMsg SubmitMsg
источник

p

philipp in Elm Lang сообщество разработчиков
Получается что элму нужно вызвать все дерево функций апдейт а затем вернувшуюся модель передать в дерево функций view?
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
philipp
Получается что элму нужно вызвать все дерево функций апдейт а затем вернувшуюся модель передать в дерево функций view?
Есть функция Html.map, которая упаковывает апдейт выброшенный во вьюхи
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
То есть спускаясь по иерархии вьюх по пути формируется иерархия мессаджей
источник

p

philipp in Elm Lang сообщество разработчиков
гдето должна быть магия которая оптимизирует этот процесс, например в реакте при обновлении стейта перерендеривается только это поддерево
источник

p

philipp in Elm Lang сообщество разработчиков
неужели на каждый месседж формируется все дерево заново
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Html.lazy, Html.keyed
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Формируется все дерево но это все равно сильно быстрее реакта из-за референс транспаренси, встроенной иммутабельности и супер быстрых сравнений на эквивалентность
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
По моему опыту элм очень сложно сделать медленным, нужно постараться, реакт очень сложно сделать быстрым, нужно постараться
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Хотя какой нибудь реакт завёрнутый в функциональный язык, в ризон там или кложу тоже очень быстрый получается, но не потому что язык делает что-то быстрее, а потому что в них сложнее делать всякие неправильные вещи
источник

p

philipp in Elm Lang сообщество разработчиков
В эльме рекорды и листы копируются когда передаются в другую функцию?
источник

_:

_Ryner' :: IO ❄️ in Elm Lang сообщество разработчиков
На уровне семантики — да
источник

_:

_Ryner' :: IO ❄️ in Elm Lang сообщество разработчиков
Для оптимизации наверняка это не так под капотом
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Погодите погодите... в элме все передаётся по ссылке, потому что иммутабельно
источник

p

philipp in Elm Lang сообщество разработчиков
тоже подумал, если они копируются всегда когда меняются то нет смысла их копировать всякий раз
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Denis Krivosheev
По моему опыту элм очень сложно сделать медленным, нужно постараться, реакт очень сложно сделать быстрым, нужно постараться
В реакте 99% вещей не нужно делать быстрыми 😑
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
philipp
тоже подумал, если они копируются всегда когда меняются то нет смысла их копировать всякий раз
Они тоже как бы не совсем копируются. Определённое копирование конечно присутствует, но совсем не так, как cloneDeep
источник

p

philipp in Elm Lang сообщество разработчиков
ну как Object.assign наверно
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Alexey Yurchenko
В реакте 99% вещей не нужно делать быстрыми 😑
У меня очень обширный опыт очень больших проблем с перформансом реакта. И как то всегда мне надо было делать его быстрым... но у каждого свой опыт
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
philipp
ну как Object.assign наверно
источник