#quoteno
#quoteの意味を置き換えて 'x の意味を変えるの、Gaucheでも出来るんだけど、ふと気づいたんだがR[67]RSで許されてるんだっけ? http://saito.hatenablog.jp/entry/2016/09/09/140105 #衛生マクロを徹底するなら'x => (#<identifier scheme.base#quote> x) とかになるべきなのかも。
#R7RSではquoteの項で'xは(quote x)とあらゆる意味で同じ、と書いてあるが、それが字面の上で同じ(従ってその文脈でのquoteの意味に依存する)のか、そこで解説されているquoteの意味と同じ(従って'を使う環境の影響を受けない)、と解釈するのか、明確ではないかもしれない。
#readが返すものはdatumでないとならないから、identifierが混ざるのはまずいか。だとすればリテラルの(quote x)と同じである、と解釈するしかないのかな。
#そうか、普通に(quote x)と書いてあれば文脈依存なんだから、'xも同じように文脈依存でないとダメだな。
#シンボル-キーワード統合の後は、R7RSコードからGaucheの手続きにキーワード引数を渡そうとすると(gauche base)と(gauche keyword)をimportしないとならないんだけど、(gauche base)をimportするだけで(gauche keyword)もついてくるようにしたら何か不都合はあるだろうか
#便利さでは(import (gauche base))だけでGaucheの組み込み関数が普通に(キーワード引数含めて)使えます、ってのがいい。ただ、インポートする識別子を厳密に制御したいという用途がある場合、:で始まる識別子のインポートが勝手にどんどん増えちゃうのは困るかもしれない。
#(gauche base)をインポートした時点でもうGaucheべったりなんだから、インポートがどんどん増えるくらいいいだろう、という考え方もある。