という題だけ思いついて、中身を書ける気がしないので、誰か書いて欲しい(他力本願) だいぶ自信がないのですが "Theorems for free!"で言っている、Parametricityについて、超大雑把に自分の今の時点の理解を言葉にしてみると「型パラメータによって関数の性質が変わらない*1」ということ(?) CLR*2のジェネリクスで型パラメータが保存されると、その性質を破ることが容易になる(?)ので、そういう論拠で「JVMがtype erasureなのは正しい」などと関数型なScalaの人達がたまに主張している(?) という話にもっていけるのでは?と思ったのですが、これ以上なにか書くほどの知識を持ち合わせていないので そもそもParametricityの理解から違ってそうだよ だいたい話の方向性合ってるよ JVMとCLRとParametricityの関係について、実はすでに書いてある