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

try節はthrow-catchを伴わなくてもよい。

int method(){ assert this.checkPreCondition(); try{ return 1; } finally { assert this.checkPostCondition(); } } try節の評価が終了した段階で必ずfinally節を評価する、という仕様になっている。つまり、try節内でreturnやbreakを利用した場合、try節…

寓話

小説や劇映画など媒体を問わず、世に広まっている物語の大半は寓話だ。もちろん、作られる物語の大半が寓話だというわけではない。物語の中でも特に寓話は世に広まりやすいというだけのことだ。 寓話とは、ある命題を字義通り語らず、代わりにその命題につい…

Lambda+Aspect

http://d.hatena.ne.jp/kilrey/20040309#p1のFunctorを使えばLambda式を作り出すことが出来る。さらにAspect手法を使えば各classにFunctorのMapを追加することが出来る。つまり、動的オブジェクトが得られる。*1 *1:利点は特にない。型付けが弱くoverloadが…

javassist続き

javassistで作ったクラスは通常のクラスと機能面で同等である。しかし、動的に生成しているのだから当然なのだが、静的な文脈で利用する、即ち型情報を利用することが出来ない。つまり、意図せずとも実装の隠蔽がなされるわけである。

javassistを使ってみた。

JBossで既存のクラスをアスペクト指向的に変換するために使われている動的クラス生成ライブラリらしい。*1せっかくなので、スクラッチからクラスを動的に生成してみた。 *1:J2EEは触ったことがない。

Generics & template(C++)

javaのGenericsとc++のtemplateは似ている。*1 しかし、両者の設計思想は大きく異なっている。なぜならばGenericsは型をパラメータに取るのに対して、templateはクラスをパラメータに取る。つまり、Genericsは複合的な型情報を扱うための技術であり、templat…

生命と宇宙と万物の究極の答え

http://slashdot.jpより。 answer to life the universe and everythingをgoogleで検索してみよう。ちゃんと答えを出してくれるぞ。 http://www.google.co.jp/search?q=answer+to+life+the+universe+and+everything&ie=UTF-8

うちの犬は正しかったのか。

愛犬(先々代)の死因は腹部の腫瘍による衰弱死でした。死の数日前、外から見えるほどまで大きくなっていた腫瘍を愛犬(先々代)は自分で噛み千切ったのでした。当時は「そこまでして痛みを誤魔化したかったのね……うう」と家族で悼んだものです。 m3.comという医…

メタエディタ中止

プロトタイプまでは作ったのだけど、使いにくかったので止め。