La documentación para referencia muestra una opción: max-history y establece que "las referencias acumulan el historial dinámicamente según sea necesario para hacer frente a las demandas de lectura". Puedo ver que hay historial en REPL, pero no veo cómo encontrar valores anteriores de una referencia:
user=> (def the-world (ref "hello" :min-history 10))
#'user/the-world
user=> (do
(dosync (ref-set the-world "better"))
@the-world)
"better"
user=> (let [exclamator (fn [x] (str x "!"))]
(dosync
(alter the-world exclamator)
(alter the-world exclamator)
(alter the-world exclamator))
@the-world)
"better!!!"
user=> (ref-history-count the-world)
2
Presumiblemente el mundo ha tenido los valores "hola", "mejor" y "mejor !!!". ¿Cómo accedo a ese historial?
Si no es posible acceder a ese historial, ¿hay algún tipo de datos que mantenga un historial de sus valores que pueda consultarse después? ¿O es por eso que se creó la base de datos datomic?