09/04/10 01:43:28
>>61
なんかよく分からん流れになってるが、自分宛でいいんだよね?
R の遅延評価は不思議なんだよな。ベクトル言語でしかも遅延評価って言うと、
誰だって遅延リストを連想するじゃないか。
「そうかそうか、巨大データを定義しても、きっと個々の要素が評価されるま
で領域確保されないのに違いない。よーしパパ巨大な疎行列作っちゃうぞ」と
か思うだろ?
ところがそれはうまく行かない。Rのベクトルは評価時にメモリをまとめて全部
確保してしまうから。ベクトルが駄目だから行列も駄目。Rで遅延評価を使った
メモリ節約のノウハウとか、自分はいまだにやり方が分からん。
思うんだけど、Rの遅延評価って、処理効率とはぜんぜん違う目的で導入された
んじゃないだろうか。そうでなければ組み込みの遅延オブジェクトがたくさん
あるはずだと思うんだよな。
今日は時間がないから書かないけど、おそらくその目的は、Scheme風言語から、
スペシャルフォームを取り除いて、関数だけで言語を構成することじゃないか
と思ってる。
--
ところで、リンク先は読んでくれた?自分があの仕組みに気が付いたときは、
Scheme や Python や JavaScript が今すぐ同じようになってほしいと思ったよ。
組み込み関数のローカル変数によるシャドウイングから解放されたい。