椿の日記

たぶんプログラムの話をします

2009-12-01から1ヶ月間の記事一覧

FF13やりました

ええと・・・ なんというか・・・ 感動しました。 この方向で突き進むとこうなるんですね、という回答例を見た気がします。 本当に潔いですね、このゲーム。いや、この作品。

GHCが新しくなってた

タイムリーなのかなんなのか、どうやらGHC-6.12.1から文字コード周りが改善してるようですね。ドキュメントを見る限りストリームに対して明示的に文字コードを指定することでUCS-4へ変換してくれるようです。あと並列化周りに色々と更新があったみたい。まだ…

文字列の内部表現

HaskellのソースをUTF-8で書いてたからリテラルも当然UTF-8だと思ってたら、んなわけがなかったですね。ちゃんとUCS-4に変換してありました。なので、プログラムの内部では常にUCS-4で扱い、入出力部分でエンコーディングを変換するのが良いみたい。てか、そ…

AOCのAI

IRCでAIネタで盛り上がったので。あくまで妄想です。もしAOCのAIを「ガチで」作るとしたら?画像認識して、思考して、マウスとキーボードの操作をWindowMessageで送るという感じかな?面白そう。でも、画像認識とかも大変だよなあ。AOCの配信をするときに動…

Haskellでiconv

苦戦しちゃったので作業メモを残しておきます。 ビルド環境はGHC 6.10.4です。 iconv.dllをインポートする dllをダウンロード http://www.kaoriya.net/ ここから、ビルド1.10-20060516のdllを取得してくる。 reimpのインストール http://sourceforge.net/pro…

デリミタを利用して少しずつ評価

接続先はIRCなんですが、IRCの文字コードはISO-2022-JPで、かつプロトコル的にコマンドは必ず改行で終わるため、 改行コードを使ってStringを分割し、各StringごとにIConvで変換するという方法を取りました。 import Codec.Text.IConv (convert) import qual…

Data.ByteString.Lazyでハマる

IConvパッケージを入れたのはソケットから取得したテキストを変換しながら出力したかったためなのですが、この変換関数がByteString.Lazyを受け付けるので少々厄介なことになっております。 cs <- hGetContents sock putStrLn csこれだと、sockから送信され…