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

クエリ式わかんない

C#

外部から与えられたデータを使いやすいようにオブジェクトの構造を組み変えるため、こんなコードを書いた。 static zHinMoku[] Compose(zYearItem[] items, string suffix) { var flats = from yearItem in items from data in yearItem.Data from ps in dat…

いろいろ

C#

クラス定義の依存とポインタの依存、大別すると二種類の依存がある。 class A { B b; } クラスAはBのポインタを持っている。これをポインタの依存と考える。この場合Bのクラス定義にも依存している。 コールバックの場合、 class A { Base base; public A(Ba…

∩_∩ 人人人人人人人人人人人人人人人人人人人人人人人人人人人人人 / / \\ < すごい分散感を感じる。今までにない何か寒い分散感を。 > | (゚)=(゚) | < 風・・・なんだろう止んできてる確実に、着実に、俺たちの手前で。. > | ●_● | < 中途半端…

可読性の高いローマ字を考える

C#

俺には英語でどう表すのかわからない概念がたくさんある。辞書を引いても本当にそれが英語として正しいのかはよく分からないし、後から読み返すときにまた辞書を引かないと意味が分からないということになるのもいやだ。用語表を用意するのもめんどくさいし…

データと言語

C#

データを言語であると考えるなら、そのデータを処理するプログラムは言語のインタプリタだ。bmpは画像定義言語、ペイントは画像定義言語の処理系と考えられる。 だいたいのプログラムは(どっかの誰かが互換性を持ったプログラムを開発しない限り)自分だけ…

ネットワーク指向プログラミング 2

C#

うんこをしてきた。 スタックの遷移をトレースしたものが木なわけだろ。 何をトレースすればネットワークになる? 関数に変わるものはなんだ? まず確実に存在するのがノードだ。移動するたびにノードは積み上げられていくわけだが、終わりのないプログラム…

ネットワーク指向プログラミング

C#

相互参照も出来なきゃダブルディスパッチも出来ぬ。我々に理解できるのは木だけだ。枝は隣の枝のことなんて知っちゃいけないのだ。 なんなんだこの限界は。腐れ死ねよ。 同じものが二箇所に出てくる場合を考えてみるA(b = B(C,D), E(b,F)) このような構造は…

飽和する作品たち

今の音楽は、たとえば中島みゆき、それも全盛期の中島みゆきや、全盛期のブルーハーツや、そういった過去の作品とカラオケという戦場で直接戦っている。基本的に勝ち目のない戦いだ。 漫画はどんどん進んでいる。手塚治虫より、さいとうたかおより今の漫画の…

遅延評価と即時評価

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("だけど・・・", "だけどさ・・・") //複…

経済

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