В некоторых реализациях Common LISP мы можем сказать, что для следующего выражения
(eq 'a 'a)
Is истинно
, потому что 'a
и 'a
являются «одним и тем же атомом».
Это может зависеть от реализации, но кажется, что фраза (используемая в популярном учебном пособии LISP) предполагает, что атомы одного и того же значения хранятся в одном месте в памяти.
В Java две интернированные строки с одинаковым значением хранятся в одном месте в памяти.
Теперь Clojure на JVM наследует наследие Java, но верно ли, что два атома в Clojure (на JVM), имеющие одинаковое значение, являются одним и тем же атомом? (т.е. как Clojure ' работает механизм хранения атомов?)