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