読者です 読者をやめる 読者になる 読者になる

F# and DirectX

DirectX .NET

The Z Buffer より.
http://www.thezbuffer.com/articles/133.aspx
F# と Managed DirectX で三角形描画しましたよというお話.何となく魔法のように関数型言語が冴える場面を想像していたのですが,残念ながらそういった類のものではないようでした.
3D プログラミングへの関数型言語の応用として真っ先に思いつくのは,ツリー操作の記述です.例えば「A をルートとするノード全てのうち B という属性または C という属性をもつもの全てを返す関数」といった記述は関数型言語にとって朝飯前です.普段手続き型言語でコーディングしている私なんかがそういった場面に出会うと,ついつい XPath などの「外部ライブラリ」に意識が行ってしまいますが,関数型言語を使っていれば淀みなくコーディングを続けらることでしょう.
他にも探せばいくつか応用先はみつかるでしょうが,直感的には頂点グラフに対するある種の探索アルゴリズムの記述にも使えないかなと思っています.容易さか,あるいは汎用性において有利なときもあるんじゃないかなーといった程度の漠然とした印象に過ぎないのですが.まあこちらは何か例を思いついてから主張した方が良さそうですけどね.
余談ですが,元ネタとなった Jack Palevich 氏の blog を眺めていて目に付いたエントリ,「Lisp in Games - Part 1: Games that use Lisp」.何度か目にしたことのある話題ではあるものの興味深いものでした.
http://spaces.msn.com/members/grammerjack/Blog/cns!1peCHL_zjY_VAAoE21WVgU4Q!114.entry
Lisp は学部一回のときに佐藤雅彦先生直々に習って以来,実のところほとんど触らずに来てしまいました.その魅力については今までにもあちこちで耳にしてきましたが,皆さん本当に楽しそうに話していたのが印象深いですね.
楽しそう,という意味では川合史朗氏のインタビューもそのひとつに挙げられるかもしれません.
http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview21.html