@valvallow @SaitoAtsushi 私は関数名にカーソル合わせてC-x Hでinfoに飛ぶようにしてるのであんまり不自由しないんですが、システムにあるモジュールをスキャンして対応を返してくれるようなバックグラウンドプロセスがあったら何かと使えるかもとは思う。
2012-05-02 19:26:17@SaitoAtsushi @valvallow 確かに。さらに、キー操作でuseが足りなかったら足す、等の機能を入れるためにも機械可読な形で関数名からモジュール名が引けるのは重要ですね。
2012-05-02 20:25:53@ayatoy それはずいぶん前にRuiさんだったかが検出するパッチを書いてくれたのだけれど、もうちょい工夫したくて保留にしてあります。test-moduleとかで検出できると良いと思う。
2012-05-02 20:32:34@podhmo @SaitoAtsushi 全部useすると、衝突する機能がある場合にまずいんですよ。標準のライブラリにはあまり無いけど。例えばread-time constructorがかぶるとか、不要なメソッドが追加されちゃうとか。
2012-05-02 20:43:54vim_goshreplに自動use機能とwhich-module関数を追加しました - aharisuのごみ箱 http://t.co/dGzFac5u
2012-05-04 11:44:21@aharisu ねー、goshrepl の auto use と gauche 標準の autoload との違いってなぁに?
2012-05-04 12:03:07@kikuchan98 autoloadというマクロを今知りました^^;で、調べてみたのですが、autoloadの場合は事前に自分でシンボルとモジュールのペアを書いておかないといけないみたいなので、それすら必要ないのがauto use機能という感じでしょうか。
2012-05-04 12:10:58@aharisu でもgoshreplの裏には対応表あるから同じなんだよね? つまり、事前に goshrepl 側で 大量に autoload しておくと同じこと実現できるのかなー、と。
2012-05-04 12:14:35@kikuchan98 できると思います。むしろ、autouseというマクロを知っていればそっちを使っていたかもしれないです。が、auto useしたことを警告として出力したり、モジュール名をレジスタに格納するなど二次的な機能を実装するためには今の方がいいかなと思ってます。
2012-05-04 12:21:38あぁ、autoload の使い方をちょっと勘違いしてた。シンボルを指定するのか。つまり対応表を作って、自分で use するか、最初に autoload するかの違いってことね。でも autoload は generic function あたりで干渉あるみたい
2012-05-04 12:25:50そもそも、発端としては「この手続きはどこのモジュールに属しているんだっけ」だから、気分的には autoload より、「ここだったから use しといたよー」のほうがスッキリするような気もする。
2012-05-04 12:27:07@aharisu @cryks autoload済みの一覧はgauche本体に保存されてるはずだから取れたりしないのかなー、と。取れなければ取れるように改造できないかなー、とw
2012-05-04 12:30:53global-variable-ref の動きをみれば autoload 用の情報がどう保存されているかわかるのではないか。
2012-05-04 12:34:01@aharisu おっと、そうなんですね。auto use は which-module の延長線上かと思ってました。コード書く→goshrepl→必要なモジュールが use されていなかった→しといたよー、ついでにこれだったよー 的なものかとw
2012-05-04 12:34:34@cryks auto use機能は、コードを書きながら式の一部を選択をしてREPL側で挙動を確かめるとき、いちいちREPLバッファに移って必要なモジュールをuseするのが面倒くさいので勝手にやってほしい、というのが一番最初のきっかけです。
2012-05-04 12:34:38@cryks 流れ的にはその通りです。ただauto use機能が先にあって、実装できそうだからついでにwhich-moduleも実装したという感じです。
2012-05-04 12:36:22