В clojure (= 'a' a) относится к 'одному и тому же атому'?

В некоторых реализациях Common LISP мы можем сказать, что для следующего выражения

(eq 'a 'a)

Is истинно , потому что 'a и 'a являются «одним и тем же атомом».

Это может зависеть от реализации, но кажется, что фраза (используемая в популярном учебном пособии LISP) предполагает, что атомы одного и того же значения хранятся в одном месте в памяти.

В Java две интернированные строки с одинаковым значением хранятся в одном месте в памяти.

Теперь Clojure на JVM наследует наследие Java, но верно ли, что два атома в Clojure (на JVM), имеющие одинаковое значение, являются одним и тем же атомом? (т.е. как Clojure ' работает механизм хранения атомов?)

6
задан Elnur Abdurrakhimov 11 April 2013 в 23:21
поделиться