Concurrent Clean : Re: Stream

[id:lethevert:20070829:p3]の話はようは参照型との組み合わせのことを考えた話で、*Ref *StdErr と *Ref *File とは型に互換性がないから、途中で参照の中身を変更することはできないけれど、ロギングライブラリを作るには出力先を標準エラーからファイルへ動的に変更できる必要があるので、違う型で同じクラスに属するものを別の同一の型に変換するような仕組みが必要ということを考えている。
bounded existential typeはそれにぴったりの手法で、先に挙げたものはそれをCleanで実現する方法に付いて書いたもの。