お世話になっております。 A.中村です。

On Mon, 11 Oct 1999 07:05:36 +0900
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:

> |そうなんすか?気持ち良さで言ったら俺は
> |例外のほうがいいなと思ったもんでした。
> そっちの方がきれいに思えるってのは肯定するんですが実際に使っ
> てみると使い勝手が全然違うんです。

文脈が飛躍して欲しくないときに飛躍してしまえば
たしかに使いにくいでしょうね。
となると、そもそもどんな文脈で使われることが「多い」か?と
いう話に、なるのかな…

例外を出すことにすると決定的に使いにくくなる、のならば、
勘所に依存しない解は事実上ないってことっすね。
ならば、勘の効いている方々にお任せするのが一番っすね。

> |#例外を返し値などにすりかえることは容易だが
> |#逆のすりかえは難しい(だからこそ例外が作られた)
> ちゃいます。まともなプログラマが設計すれば例外的状況を戻り値
> で示す場合にはそれなりに区別する値を返すはずですから、情報は
> 1ビットたりとも欠落しません。

欠落はしませんが、なんかコーディングがぐちゃぐちゃしそう。

> す。問題はその状況が「どのくらいエラーか」ということです。こ
> の辺の見極めが設計者の勘どころなんですね。

問題はドッチカってーと、返し値の定義域が「全ての値」
である場合(つまり「区別できない」場合)に、起きるような
気がします。今までのHashは真っ当なときの返し値の定義域から
nilを村八分することで成り立っていたという感じ…でしょうか。

やっぱりHash用の独特のnilモドキの別途用意あたりかな…

#「nilを見つけた」ときと「なにも見つけなかった」ときが
#同じnilを返すっていう仕様に将来移行したら、それはそれで
#一抹の不思議さを抱えてしまうというか、現状の不思議さが
#一つ減る替わりに新たな不思議さを得てしまうというか…