symbolの実装

symbol周りを実装。

R5RSからの引用によれば

シンボルとは,二つのシンボルが(eqv? の意味で) 同一な
のは名前が同じようにつづられるときかつそのときに限ら
れるという事実に,その有用性がかかっているオブジェクト
である。

これだけだと良く分からない。
Gauche でいろいろ実験。

symbol? #t/#f
(symbol? 'a) #t
(symbol? (quote a)) #t
(symbol? (car '(a b))) #t
(symbol? (car '(1 2))) #f
(symbol? '1) #f
(symbol? #\a) #f
(symbol? '#t) #f
(symbol? 'abc) #t
(symbol? '1xy) #t
(symbol? "abc") #f


(symbol? '1) が #f なのは '1 は => 1に評価されるからだろう。
quote の実装が甘かったので修正し symbol の実装も完了。