2009-01-05から1日間の記事一覧

遅延評価と即時評価

C#

上の場合はインタプリタで遅延評価するわけだけど、こんな面倒をかけなくても即時評価することもできる。 interface IEngine { IEngine Jibun(params string message); IEngine Aite(params string message); IEngine If(Func<bool> pred, Func<IEngine, IEnd> then, Func<IEngine, IEnd> @else);</iengine,></iengine,></bool>…

C#で言語内DSLを書くテクニック

C#

基本的にはメソッドチェーンで書くのがいいと思う。 とりあえず二人の人間が会話するところを言語内言語で記述してみる。一人はJibun,もう一人はAiteとする。 Begin .Jibun("うんこくえよ") .Aite("やだよ") .Jibun("だけど・・・", "だけどさ・・・") //複…

経済

今年は去年よりたくさん生産しましたというようなことを経済成長と呼ぶのはいい加減にやめろ。死ね。地球を思いやれ。 というようなことをソースコードで書きたいと思っているのだがうまくいかん。経済は発狂するほど難しいな。 価格決定のメカニズムについ…