Gauche > Archives > 2016/09/10

2016/09/10 02:50:18 UTCshiro
#
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も同じように文脈依存でないとダメだな。
2016/09/10 22:26:25 UTCshiro
#
シンボル-キーワード統合の後は、R7RSコードからGaucheの手続きにキーワード引数を渡そうとすると(gauche base)と(gauche keyword)をimportしないとならないんだけど、(gauche base)をimportするだけで(gauche keyword)もついてくるようにしたら何か不都合はあるだろうか
#
便利さでは(import (gauche base))だけでGaucheの組み込み関数が普通に(キーワード引数含めて)使えます、ってのがいい。ただ、インポートする識別子を厳密に制御したいという用途がある場合、:で始まる識別子のインポートが勝手にどんどん増えちゃうのは困るかもしれない。
#
(gauche base)をインポートした時点でもうGaucheべったりなんだから、インポートがどんどん増えるくらいいいだろう、という考え方もある。