Кто может направить на путь истинный, подсказать куда копать. Переизобретаем dom-дерево )
Есть структура данных (здесь и далее привожу мапы без значений, чтобы показать, что это мапы, а значения нам не столь важны):
s1 {:a :b :c }
s1 является схемой для d1 - соответственно d1 имеет вид {:a :b :c}
s2 - зависит от s1, имеет вид {:d :e :s1}, соответственно d2 имеет вид {:d :e :s1 {:a :b :c}}
ну и для полноты картины опишу s3 - оно зависит от s2, схема - {:m :k :s2}, а d3 у него {:m :k :s2 {:d :e :s1 {:a :b :c }}}
Моя задача - отобразить изменения, произошедшие в s1 - в s2, s3, sN вне зависимости от уровня вложенности.
Т.е. если s1 стало {:a :b :c :f}, то d3 -{:m :k :s2 {:d :e :s1 {:a :b :c :f}}}.
Не имею наглости просить помощи в написании полноценного решения (тем более, что в реальности еще куча всего наворочено), скорее - требуется направление для творческой мысли.