最近parametricityについてジャバを書きながらずっと考えていたのだけど、割と便利な結論が出てきたと思う。 任意の"デザインパターン"はparametricityを活用して構築出来る 継承を用いたデザインパターンはできないだろ、とか突っ込まれそうだけど実質同じ用途だったら同じとする。そこの差異に興味はない。 デザインパターンの定義はなんだよ、とかparametricityはなんだよとかも突っ込まれそうだけどまあそのうち。 論自体はまだまだ続くのだけど。例えば型クラス拡張版は簡単に導出できる。後はhigher-order-kindの型パラメータどうするかとか、Theorems for free!を基に考えてみるとか。あとプログラミングだけでなく一般の思考メソッドとしても用いることが出来る。 そのうちまとめてどこかで発表するかもしれない。 今まで設計に関する議論で気になってたことは、ド