Hatena::ブログ(Diary)

純粋関数型雑記帳 このページをアンテナに追加 RSSフィード Twitter

このページはHaskellを愛でるページです。
日刊形式でHaskellなどについての記事をだらだらと掲載しとります。
2004 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 11 |
2007 | 03 | 04 | 05 | 07 | 08 | 09 | 12 |
2008 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 03 | 05 | 06 | 09 | 10 | 11 | 12 |
2010 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2011 | 01 | 02 | 05 |
本体サイト

2005年03月24日(木) 逐次型言語と関数型言語の狭間

[]C言語からHaskellへの変換 C言語からHaskellへの変換を含むブックマーク C言語からHaskellへの変換のブックマークコメント

http://www.sun-inet.or.jp/~yaneurao/ こちらにてD言語にも移植されている

http://www.glexcess.com/ このデモをHaskell移植してみた。

実は去年の夏ごろに移植しようかと思っていたのだが、

GHC6.2ではHOpenGLからテクスチャサポートがはずされていたので

断念せざるを得なかった。

そういうわけなので、GHC6.4が出た暁には移植してやろうとかねてより

考えていたのだが…。

http://fxp.infoseek.ne.jp/haskell/glexcess_haskell.zip

ここにシーン1とシーン2を移植したものを公開してみた。

どうしてシーン1とシーン2だけなのかというと、

あまりにも移植作業が大変だったもんで

このあたりで力尽きてしまったというか、なんというか。

というわけで、先日書いたHaskellで書くのが大変なものというのは

与えられたCプログラムと同じ動作をするプログラムのことであった。

グローバル変数配列などを使われるとすんなりと

コードを変換することが非常に困難になってしまう。

そういうわけなので、それなりにまともに書こうと思うと、

Cのプログラムが何をやろうとしているのかを逆に読み取り、

そういうことを行うHaskellプログラムを書く必要がある。

IORefを使いまくってプログラム全体をIOまみれにしてやったら

一対一対応もつくのかもしれないが…うーむ。


…ということで、このプログラムシステム部分は割と綺麗に書けていると思うので、

残りのシーンをどなたか移植して下さりはしないだろうか。

残り10シーン…ぐは…うんざりだ。

yaneuraoyaneurao 2005/03/24 15:17 す、、すごい!!

h_sakuraih_sakurai 2005/03/24 23:53 ゲームの次は、デモすか。はぁ。すごいですねぇ。
前のゲームもですが、マシンパワーが足りないせいか、
FPSが遅くなってしまいます。

tanakhtanakh 2005/03/25 06:13 ここ最近以前より格段に多くHaskellを見るようになってきましたが、
やはりもっと人を取り込むためにはこういうキャッチーな
分野をしっかりカバーできるのだということをアピールすることが
不可欠ではないのかなと思いまして…。
マシンパワーですか。うーん。
こっちの環境はLet’s note W2なので、そんなに
速いマシンではないんですけどね。
デモのシーン2はうちでも重いです。
毎フレーム万のオーダーのオブジェクトを作ったり
壊したりしているはずなのでちょっと厳しいかもしれませんね。

トラックバック - http://d.hatena.ne.jp/tanakh/20050324