このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

catchじゃなくてwatch

戻り値Bでエラー(丸括弧で囲む)がEの関数は、A→B+(E)。Eをcatchすると、A→B+E。となると、もともと A→B+E である例外しない関数を A→B+(E) とするのが、場合分けthrowってことになる。when { y∈B => return y, y∈E => throw y}。

ある範囲内の射を全部に場合分けthrowを付けて、その範囲を見張ってcatchすることができる。場合分けthrowとcatch(古典的なcatch式)を一緒にしたのをwatchとして使ったらいいかもしれない。

ただし、大問題は、NGのようなタグを全部同一視してしまうので、エラーの発生源を特定できない。特定するには、エラーごとに別なタグを付ける必要がある。これが実用的かどうか? watchの出番もワンポイントつうか限定的になりそう。ホントにいるかどうか分からん。