たらいまわし関数
買ってからずっと読んでいなかった本なんですが、読んでみたらスゲーおもろい。
C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)
- 作者: 奥村晴彦
- 出版社/メーカー: 技術評論社
- 発売日: 1991/03/01
- メディア: 単行本
- 購入: 20人 クリック: 396回
- この商品を含むブログ (95件) を見る
案外トリッキーな技が多い。
気になったのが、コレ。
「たらいまわし関数」
再帰的に定義された次のような関数。特に意味はない。
「特に意味はない」ってなんだよ!!
気になって仕方がないので、Schemeにしてみた。
(define (tarai a b c) (if (<= a b) b (tarai (tarai (- a 1) b c) (tarai (- b 1) c a) (tarai (- c 1) a b))))
ぐるぐる。ぐるぐる。
僕の頭も、ぐるぐる。ぐるぐる。
追記
色々たらい回してるテクストがありました。
別名を竹内関数。遅延評価のベンチマークに最適らしい。
- 青木日記 2003-03-15
- 404 Blog Not Found:たらいを回すならHaskell
- ひげぽん OSとか作っちゃうかMona- - 関数型言語の勉強にSICPを読もう - (66) 4章 - 超言語的抽象(222ページ) C++でSchemeインタプリタを作ろう15
- Scheme:たらいまわしべんち
特に意味は無いけど、Haskellスゲー。
追記2
竹内関数の作者、竹内先生は「Lispの神様」と呼ばれる人らしい。
- 竹内研究室
- 研究室
- ぬえ, 鵺, NUE (New Unified Environment Research Project)
- Lispマシンとか。
- 問題を作る楽しみ
- 本物のハッカー思考。
- Sun Developer News
- 未踏のインタビュー記事
- 竹内郁雄 作品一覧: 紀伊國屋書店BookWeb
- 著書一覧。入手は困難そう・・・。
- TAK Function
- たらいまわし関数の元ネタ。
ホントに凄い人。