2006-02-08から1日間の記事一覧

Java : 遅延評価

[id:lethevert:20060207:p4] そういえば、Javaには遅延評価を表現する文法がないのも不満だった。 で、こんな文法ならありえそうかなとか思った。 class Lazy { pubic final lazy int value = value(); private int value() { return ... } }で、簡略化して…

Java : 継承と実装

菱形継承のことを考えていた。 平行四辺形と正方形の関係を考えると、菱形継承を避ける(恣意的でない)合理的なアイデアが非常に難しいケースがあることは理解できる気がする。 interface 平行四辺形; interface 長方形 extends 平行四辺形; interface 菱形…

Concurrent Clean : 平均

http://wirbeln.tblog.jp/?eid=72499で平均を求める関数をCleanで書いている。 こういう風に書くのはどうだろう? mean ls = (\(x,y) = toReal x/toReal y) $ foldl (\(x,y) a = (x+a, y+1)) (0,0) lsただし、$は以下のように定義する。([id:lethevert:2005…

Java : スレッドプログラミング

Javaでwait()とnotify()を使う際のお作法って、こんな感じでいいのかな? class Something { private Integer value = null; public int wait_and_return() { if (value == null) { wait_for_value(); } return value; } private synchronized wait_for_valu…