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 の実装も完了。