### Some Fine Print
`Symbol` 對象有一個 `String` 類型的名字以及一個 `String` 類型的名字空間名字(叫做 `ns` ), 但是沒有值。它使用一個字符串的名字空間而不是一個名字空間對象使得它可以指向一個還不存在的名字空間。 `Var` 對象有一個執行 `Symbol` 對象的引用 (叫做 `sym` ), 一個指向 `Namespace` 對象的引用 (叫做 `ns` ) 以及一個 `Object` 類型的對象(也就是它的root value, 叫做 `root` ). `Namespace` 對象bjects有一個指向 `Map` 的引用, 這個map維護 `Symbol` 對象和 `Var` 對象的對應關系 (叫做 `mappings` )。同時它還有一個map來維護 `Symbol` 別名和 `Namespace` 對象之間的關系 (叫做 `namespaces` ). 下面這個類圖顯示了Java里面的類和接口在Clojure里面的實現。在Clojure里面 "interning" 這個單詞一般指的是添加一個 `Symbol` 到 `Var` 的對應關系到一個 `Namespace` 里面去。
