Документация реф показывает: вариант макс-истории и состояний , которые «рефов накапливать историю динамически по мере необходимости для сделки с считанных требований.» Я вижу, что в REPL есть история, но я не вижу, как найти предыдущие значения ссылки:
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
Предположительно, в мире были значения «привет», «лучше» и «лучше !!!». Как мне получить доступ к этой истории?
Если невозможно получить доступ к этой истории, существует ли тип данных, который хранит историю своих значений, к которой можно впоследствии обратиться? Или именно поэтому была создана двухатомная база данных?