Gauche > Archives > 2014/01/15

2014/01/15 13:31:11 UTCaharisu
#
Gaucheが.hogeのようなシンボルもread可能なのは何か意図がある動作なのでしょうか?
#
r5rsやr7rsの識別子の頭文字として許容する文字に.は含まれていないと思うのですが。
2014/01/15 16:32:31 UTCshiro
#
Lispの伝統に「数値として読めないトークンはシンボルにする」というのがありまして、Gaucheもそれを踏襲してます。r[57]rsは数値ともシンボルとも読めないトークンについては処理系依存です。伝統的にある程度寛容な処理をする実装が多く、sxmlの@とかsrfi-14の->char-set のようにr5rsまでで不正なシンボルが堂々と仕様に入ってることもありました。r7rsではこのへんはわりと広くカバーしてるはず。
#
このGaucheの方針によって、Common Lispの 1+ とかもそのまま使えるんですが、「数値の記法を拡張できない(互換性を壊す可能性がある)」という欠点はあります。
2014/01/15 22:21:36 UTCaharisu
#
では、シンボルの中に#が入っているとread時にエラーが出るようになったと思うのですが、それは特別な理由があったのでしょうか。
2014/01/15 23:18:26 UTCaharisu
#
シンボル中の#でread時にエラーが出るようなったことについて、ChangeLogに詳細が書かれていたのですね。