たらいまわし関数Haskell (hugs December 2001版)Ruby (1.8.0-preview2)Gauche (0.6.8)クロージャ版delay/force版クロージャでは何故計算量が減らないか議論 たらいまわし関数 tarai(x, y, z) := y if x <= y tarai(tarai(x-1, y, z), tarai(y-1, z, x), tarai(z-1, x, y)) otherwise eagerに評価すると、不要な枝の先の先まで計算してしまって大いなる無駄となる。 lazy evaluationの利点が光る一品である。 参考: 竹内郁雄 どう転んでもLisp WikipediaJa:竹内関数(WikipediaEn:Tak (function)) たらいまわし関数 たらいまわしべんち Haskell vs Ruby たらいまわしべんち最終
Scheme Is Love 翻訳 原文:Scheme Is Love 著者:Don Box (Microsoft Corporation) ここ数年、Perl、PHP、Python、またはRubyなどの動的言語を採用することが流行しています。私がRubyと短かくも楽しいひと時を持ったことは認めましょう。しかし、Schemeと呼ばれているLisp方言に、私は真実の恋を見つけたと信じているのです。 Schemeでプログラムを書き、私はコーディング、デザイン、アーキテクチャ、および美意識に関して多くを学びました。このことは、Eric S.Raymondの「ハッカーになろう」に、より正確に書かれています。 また異なる理由、つまり最終的に習得した時に得られる深遠な悟りの経験のためにLispを学ぶ価値があるのです。この経験は、その後の人生で、あなたをより良いプログラマーにするはずです。たとえ、実際に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く