2004-08-01から1ヶ月間の記事一覧

純粋関数型では配列はつらいのかどうなのか

純粋関数型言語では配列の扱いが若干厄介だ。 というのも、配列というものが本来mutableな使い方を想定するものだからだろう。 (定数オーダでテーブルを参照したいようなケースもあるが…) 参照透明を守る形で配列を実装する方法は大体以下の通り。 (計算量O(…

6502 再考

CPU

Haskellネタはひねり出すのが大変なので今日はお休み… いろいろ中途になっているような気がしないでもないが、 まぁ、それはいつものことなので。 ということで脈絡無く6502の復習でも。 極個人的なメモになる予感。 概要 8ビットCPU。 16ビットアドレス、1…

オーパーツ

大学生になってから衰退した能力は 思考力でも理解力でもなく根気と集中力 なんだろうなぁと思う今日この頃。

ICPC2004 in Haskell

ずっとやろうと思っていたのだが、 なんだかほかのことをやっていたらこんなに遅くなってしまった。 ゲームが一段落した?ので気晴らしに解いてみることにした。 問題Dぐらいまではさくさく解けたのだが、 問題Eは結構めんどくさかったし、 問題Fはなんかへん…

あららら…

またUVA(http://acm.uva.es/)のオンラインコンテストを寝過ごしてしまった… 修行が出来ない…

Haskellプログラマはゲームプログラミングに何を見たか?(実例編)

ええ……、2日ほど遅延評価の迷宮をさまよっていた。 Haskellは勉強すればするほどどんどん深みにはまっていくような気がする。 当初のもくろみは今回もそんなに外れてはいなかったが、 まだまだ工夫の余地がたくさんある。たくさん有りすぎて大変だ。 Haskell…

フリーソフトウェアライセンス診断

僭越ながら私も(wxHaskellで)書いてみたり… import Graphics.UI.WX import System.Exit main = startQuestion "フリーソフトウェアライセンス診断" q1 q1 = yn "あなたのコードを商用ソフトウェアに組み込まれて販売されてもかまわないか?" q2 (res "GPLラ…

Re: Re: wxHaskell (その3)

コンソール消すのはオプションがありましたか… どこかにあると思って探したのですが、結局見つけられず あのような記事になってしまってお恥ずかしい。 Charも一バイトじゃあなかったんですね。 これも適当なこと書いてしまって申し訳ないです。 (後で直して…

ちょっと休憩

最近ちょこちょこお返事等がいただけて嬉しい。 しかし、改めて読み返してみるとあまり人に見せるような 文章になっていないな…

その2 描画システム編

今回は今までの胡散臭い話からちょっと離れて描画システムを考える。 前回の話で、入力リストに対して[IO()]でも返しとけやということになったのであるが、 IO()では自由すぎるので描画に関して一つ考えてみることにする。 なお、今回のキーワードはgraphics…

超前衛的ゲームプログラミング方法論Ⅲ

やばいやばい、文章を書くのがどんどん遅くなってる。

その1続き

昨日の続き。 継続を用いて並列的な処理の記述を行うということであった。 今回はその具体的方法について述べる。 この方法の基本的なアイデアはHaskellのPreludeにあるinteractである。 このページでもたびたび取り上げているので詳しくはそちらを見てもら…

超前衛的ゲームプログラミング方法論Ⅱ

最近時間が無くて文章を十分に推敲できない…

超前衛的ゲームプログラミング方法論 その1

予定 1:コア編 2:描画システム編 3:(おまけ)サウンドシステム編 その0 概要 はじめに 今年の未踏ユースにて、目的じゃなくて手段が先に来てるとか、 習作ぽいとか、テーマに何か引っかかるものはあるけどPM的にはピンと来ないとか、 散々な理由で採択されな…

超前衛的ゲームプログラミング方法論Ⅰ

なんとな〜くParsecは延期。 引っ張るネタでもないけど… 今回のはいつに無くアグレッシブ。

parser combinator in C++ (parser その3)

買って登録したはいいがほとんど使っていなかったVS.net。 C++使うときもg++使っちゃったりして、もう散々な扱いだったのだが、 g++のエラーメッセージが訳わからんかったので VC++に頑張ってもらった。 とりあえず今回は息抜き+ネタ企画。(ネタ企画はいつも…