2006-01-28から1日間の記事一覧

スコープの話

(let ((y 5)) (defun print_y (x) y) ; print_yを定義します (defun map2 (f lst) (let ((y 20)) (mapcar f lst))) ; print_yを評価します (let ((y 10)) (map2 #'print_y ; print_yを束縛します (list 1 2 3 4 5))))このコードの出力がどのようになるかを考…

Java : Smalltalk風の制御構文

abstract class Cntr { abstract boolean cond(); void ifTrue() {} void ifFalse() {} void once() { if (cond()) { ifTrue();} else { ifFalse();} } void repeat() { while (cond()) { ifTrue();} } void until() { while (!cond()) { ifFalse();} } } pu…

Delphi : クロージャ

前のDelphiでクロージャの件、クロージャ内で例外が起こった時にスタックがおかしくならないかと一瞬思ったが、ちゃんと巻き戻しているみたい。

Concurrent Clean : Concurrent?

このダイアリで、いつもConcurrent Cleanと書いていますが、実はConcurrentな側面がどうなっているのか追究したことはないのです。もちろん、意識して利用したこともないし、ちゃんとConcurrentかどうか確認したこともないです。わざわざConcurrentを付けて…

オートインデント

オートインデントって嫌い。好みに合わないときに、自分で整形しても、勝手に元に戻されたりすると、ぶち切れ。

Javaと関数型言語

最近、Javaのコードをダイアリによく書いているのですが、それは、Javaって今まで思っていたよりもずっと記述力が高いのではないかと、思うようになったからなんです。まだいろいろ試しているところなんですが、Java(特にJDK1.5)は、関数型言語と同程度の…