Haskellオセロ盤

4 Apr

なんとなく、昨日からHaskellな気分なので、すこしHaskellオセロのボードを作ってみる。本気でCommitする気はそこまでないので、末永く時間はかかるだろうが・・・Haskell使ってみたいだけ。

とりあえず、12月か1月くらいに斜め読みしたマニュアルの内容を思い出しつつ・・・。

まずもって問題は、考え方をなんとかすること。先学期のOCaml演習の最終課題をJavaでやってしまったくらいなので、頭の中は命令型一色。関数型な思想はSTLのアルゴリズムとBoost Lambdaからしか得てない。

ある部分のコードを書き終えて他の部分のコードを書いて・・・いる間にさっきの部分のよりマシなコードを思いついて・・・その間に・・・という感じにいっこうに進まない。

ただ、コード量は内容に対して非常に少ない気がする。基本的には無駄なく記述できている印象。わかりやすさに関しては問題なし。
ただ・・・

data Color = SPACE | BLACK | WHITE
instance Eq Color where
  SPACE == SPACE = True
  BLACK == BLACK = True
  WHITE == WHITE = True
  _ == _ = False

これって下の方書かずに済ませられないのだろうか?

あとは、どうやって実行されるかが全然分からない。どの部分の計算結果が保存されて、どの部分が再計算されるのか・・・。全然分からずに書いているから、ものすごく遅そうだ;

今日学校でunno氏らが汎用オセロGUIの規格について検討していたらしいので、Haskellオセロもそれに合わせよう。てか先にNeothecをそれに合わせるか。

Leave a Reply

Your email address will not be published.