Gauche > Archives > 2016/09/18

2016/09/18 11:13:29 UTCshiro
#
まはろ。これbasename取って比較する方がいいかな。
2016/09/18 17:37:01 UTC齊藤
#
そうですね。 検索のときは (パスは重要ではなく) 名前だけが必要なわけですしね。
2016/09/18 17:41:05 UTC齊藤
#
「コロンで始まる名前は (キーワードリテラルではなく) 同名のキーワードと結びつけられた変数ということにする」というアイデアは Gauche の拡張と Scheme 本来の仕様が衝突していた部分を回避する実に上手い方法だとは思うのですが、これまでの Gauche との互換性という視点を無視すればコロンで始まる名前をキーワードにしたいというだけの理由でこういった機構を用意するのは豪勢すぎる気もしますね。 (その互換性が大事ではあるのですが。) もし今から再設計できるとしてもコロンを選択するでしょうか?
2016/09/18 22:14:01 UTCshiro
#
衝突を避けるとすると現実的にはバックスラッシュか #+何か (Guileみたいに #: とか) しか無いわけですが、バックスラッシュは何か他の意味と勘違いしてしまいそうだし、#+何か だとちょっと見た目重くなりすぎるように感じます。そもそもキーワードの意義はほとんど見た目の問題ですから。なので今から新規設計するとして、かつ自分が実用に供することを考えるなら、やっぱりコロンを選択するかなと思います。ただし、独立したキーワード型というものがあるということにはせず、あくまでreadが自動的に特定のモジュールに自己束縛を作るだけのシンボルであるというふうにするでしょうけど。
#
単なるシンボルにしておくとGaucheコードを呼ぶR7RSコード自身がポータブルに書ける(クオートすればいい)というのはメリットだと思います。Gaucheコード部分をすげ替えることも出来ますし。