В OLAP-кубах можно очень быстро просматривать большие объемы агрегированных данных. Основная причина этого заключается в том, что данные предварительно агрегируются в операциях, которые легко комбинировать вверх (в основном +, -, среднее, стандартное, максимальное, минимальное и некоторые другие).
Как получить это «антиленивое» поведение в clojure?
Я думаю о чем-то вроде
(def world-population {:africa 4e8 ;;this is an aggregation!
:africa/liberia 3.4e6
:africa/ethiopia 7.4e7
...})
Как обновить подобную структуру данных и убедиться, что родители объекта также обновлены? Нужно ли сворачивать собственную реф-реализацию?