ICFP

kzk さんとこで記事見てちょっとやってみたくなったので、去年のが面白そうだと思って落として、ついでになんとなく D を覚えて試し斬りしてみた。Dynamic array が class だと気づくのにやたら時間がかかった。
とりあえず new で配列を確保すると、GC から守るために table に pointer を持たせておく必要があることに気づいて extern (C) [mc]alloc とか宣言して使ったり。D の意味が半分くらい無いねぇ。Array bounds checking も UM の仕様上やらなくていいことになってるしただの overhead ナリ。new できないので sized array を構造体で実装して、operator overloading で添字 access。あーこの変便利だわ。確か C++ でもできたと思うけど。でも吐かれた assembly source みて inline 展開されてないのを見てゲンナリ。register keyword と同じでもう必要ないから省略したんちゃうんかい。GDC だからか? なんか一部構文も実装されてない雰囲気だしなあ。
で、sandmark.umz を起動すると byte order 間違ってるぜと教えてくれる。芸が細かいな。
そして umix 起動。あの password bruteforce program の辞書語 + 数字の部分っていずれ書かんといかんのかな。あと、うみくすだと思ってたらゆーえむきゅうだった。平仮名だとすごくわかりにくい。Adventure game の趣旨が理解できた辺りで suspend。最近あんまり遊べないなぁ。高校の頃は寝ても覚めてもそういう事しかしてない勢いだったのに。