Сообщение от tenshi
|
Суть его в том, что мы описываем зависимости между данными в виде функций и рантайм автоматически поддерживает актуальность всех значений
|
кто поддерживает?
Сообщение от tenshi
|
Каждый раз, когда реально меняется значение мастера (сравнение идёт через оператор идентичности `===`) – все рабы получают распоряжение об обновлении, но делают они это не сразу, а отложенно. Причем, чем меньше номер слоя, тем раньше будет вычислено значение атома. Это сделано для того, чтобы не приходилось несколько раз пересчитывать значение атома, пока меняются значения его хозяев.
|
что, если нижний слой влияет на верхний? Получаются те же самые бесконечные вычисления
Написано сложно. Зачем писать сложно о сложном? Так любой сможет. А ты попробуй просто напиши.
С FRP дела не имел.
Что я "вижу" по сути (код не глядел):
function Atom() {
this.children = [];
}
// уведомить об изменении
Atom.prototype.notify = function() {
// цикл по детям, детям детей и т.д.
};
// создаем родительский atom
var atom = new Atom();
// формируем цепочку детей (зависимостей)
atom.children.push(new Atom());
// какое нибудь изменение, а в след за ним уведомление
atom.notify();
или
вводим id-шники в рамках атомов, с помощью которых можно подписаться или отслеживать любые изменения любых атомов и формировать зависимости. Все