#FIX確認しました。11adcfcfで全テスト完走です(MacOSX 10.7.4)
#Total: 12842 tests, 12842 passed, 0 failed, 0 aborted.
#質問してみました。「無限列を扱う手法として遅延シーケンスとストリームはどのように使い分けていけばいいのでしょうか?」 http://qa.atmarkit.co.jp/questions/2131 #むー、これはGaucheのlazy stream vs util.streamの話なのかな? 質問文だけだと一般的な話のようにも取れるけど、一般的な話だとすると「遅延シーケンス」「ストリーム」それぞれをもちっとはっきり定義しないとならないか。
#もうちと質問に具体性がほしいと思ったナリ。今出先なので回答書くとしても明日以降になります。あと他の人の意見も聞いてみたいナリ。
#無限列を表現する手法が2つあるので、違いと利用上の注意のようなものを知りたく思いました。
#質問を修正しました:「無限列を扱う手法として遅延シーケンス(Lazy sequences)とストリーム(util.stream)はどのように使い分けていけばいいのでしょうか? 2つの技法の性能的な違いや利用上の注意点を知りたく思い質問させていただいきました。」http://qa.atmarkit.co.jp/questions/2131 #遅延シーケンスのリファレンスの説明は、わたしには難解でストリームとの使い分けをどうしたらいいのかがよくわからないのです。
#具体的な例といえば、内部イテレータを用意してそれを変換して使うとすれば、どちらがいいのか?ということです。
#@ITに上げた質問は一般的な問いになるかと思います。遅延シーケンスを選択すべき状況、ストリームを選択すべき状況とはなにかということです。遅延シーケンス、ストリームの定義をはっきりさせるため、gauche.lazy,util.streamを併記しておきましたがこれで十分でしょうか?
#一般的な話をすると、遅延ストリームも遅延シーケンスも同じです。「Gaucheでは」そういう遅延データ構造の「具体的な実装として」gauche.lazyとutil.streamが用意されていて、前者を遅延シーケンス、後者をストリームと呼んでいるだけです。この、一般的/概念的な話と、具体的な実装を分けて質問してもらえると良いと思いました。一般的な意味では違いを議論しようがありません(同じなので)。「Gaucheでは、遅延データ構造として遅延シーケンスgauche.lazyとストリームutil.streamがありますが、どのように使い分けたらよいでしょうか」のように、Gaucheの実装限定で質問してもらえればまだ答えられるかと思います。