2008-09-12から1日間の記事一覧

構造体と構造体リテラル

構造体実装した。 require leaf; struct Foo { x: char; y: short; z: int; w: long; }; fun main(): int { var foo = Foo { x = 13@char; y = 75@short; z = 46@int; w = 2@long; }; 0; }こんなソースが ; ModuleID = 'test' declare i32 @puti(i32) declar…

キャスト

キャスト演算子を@にしてしばらく書いてみたけど アセンブリみたいでキモい foo as int とかにしようかと思ったけど asみたいな短い文字列を変数名に使えないのはハマりそう foo cast int かなあ でもいまいち意味が取りづらい foo => int とか? うーん foo…

遅延評価

遅延評価をデフォルトにすると リアルタイムプログラミングと折り合いが悪すぎると思ってるので scheme R5RSみたいに Promiseの作成は明示的 Promiseの起動は暗黙 って感じがいいかなと思ってます。 正確に言うと、R5RSでは、作成(delay)は明示的だけど 起動…

というわけで

leafもそういう方向性で進めたいわけですが、 OOとはどう折り合いをつけるのかな…… 前にOCamlでコンパイラ書いたときも gensymとintern以外破壊的操作を行わない縛りで作業したんだけども、 ASTや functional intermediate representation に ちょっとした情…

ゲーム業界も

http://d.hatena.ne.jp/Florian/20080912/1221182604ゲーム業界も えーマジ代入!? 破壊的代入が許されるのは小学生までだよねー キャハハハハハハ という方向に進んでください。 お願いします。

名前

いま気づいたleafってエロゲ屋の名前じゃねえか シナプスが全く結合してなかった まいいやいまから変えるのめんどくさい