Dokumentacja ref pokazuje opcję: max-historii i stwierdza, że „sędziowie gromadzić historię dynamicznie, ile potrzeba do czynienia z czytanych żądań.” Widzę, że na REPL jest historia, ale nie widzę, jak znaleźć poprzednie wartości referencji:
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
Prawdopodobnie świat ma wartości „cześć”, „lepiej” i „lepiej !!!”. Jak uzyskać dostęp do tej historii?
Jeśli nie można uzyskać dostępu do tej historii, to czy istnieje typ danych, który przechowuje historię swoich wartości, które można później zapytać? A może właśnie dlatego stworzono bazę danych?