@B_head00 で、C#だと変性の指定がインターフェイスで行うのでしたっけ。C#が提供側での変性定義で、Javaが利用側での変性定義ですよね。Scalaならいけるっぽい kmizu.hatenablog.com/entry/20101109…
2014-05-27 15:41:00JavaでAPIのクラスでメソッド引数にワイルドカードを用いた宣言をしたらおよそdefinition-site varianceになるような気もする kmizu.hatenablog.com/entry/20101109…
2014-05-27 15:45:04@matarillo @nagise Scala でも(公開されたバージョンにあったのかわかりませんが)一瞬、使用側での変性が実装されて、後に捨てられました ;-( プログラマの負担(どこでどの変性を使うか決めるのが)が大きすぎる、というようなことを言ってました。
2014-05-27 17:23:06@matarillo @nagise 補足: 言ってました、は、オデルスキー氏が、です。(たしか2002年くらいに実装の話を聞いて、次にあった時にはなくなってました。)
2014-05-27 17:26:02@50storms @matarillo kmizu.hatenablog.com/entry/20101109… 水島さんがuse-site varianceとしてScalaのExistential Typeを挙げてますがこれはまた違うものなのでしょうか…?
2014-05-27 17:33:19しかし、使用側変性の論文を投稿して、まだ採否が出てない段階で面と向かって「やあ、あれ面白いね、実装したよ」と言われましても…
2014-05-27 17:33:21使用者変性 = use-site variance でJavaのワイルドカードのことという理解であってるんだろうか。不安になってくるなあ…
2014-05-27 17:35:33@nagise @matarillo ええと、use-site variance は実質 existential だ、というのが僕の昔の論文の主張のひとつです。その意味では Scala でも「use-site variance ごっこ」はできます。
2014-05-27 17:35:38@nagise 少なくとも僕は大丈夫です:-) ただ、ワイルドカードは、変性っぽく見えない記法を(わざと)採用したので、にわかにそう見えないかもしれませんが。
2014-05-27 17:37:39@nagise @matarillo Scala の existential をどう書くかちゃんと把握してないので嘘かもしれませんが、おそらく書く分量が増えて面倒かな、と。むしろ use-site variance で existential ごっこができるというべきかも?
2014-05-27 17:40:03@nagise @matarillo 二箇所のワイルドカード ? が実は同じ型、みたいな制約をワイルドカードでは書けませんが、existential ならできる(はず)。
2014-05-27 17:41:04TLのvarianceとかの話聞いてて、こんなこと思い出したけど twitter.com/xuwei_k/status… そのあたりやっぱり難しいしもう一度TaPL読みなおす必要性感じる
2014-05-27 18:02:11"「Mixed-Site Variance」という最近発表された論文が面白い" ってscala-internalで話題がでてて面白い groups.google.com/d/msg/scala-in…
2013-06-15 17:44:11あと、Scalaのvarianceの話といえば、これ面白いので、誰か読んで教えてください github.com/mpilquist/vari… (注意: pdf直リンク)
2014-05-27 18:18:14半分くらいはわかるのだけど、こういうスライドで、bivarianceとか、higher kindedとか、その組み合わせ(?)の場合の話とかまで真面目に触れるのあまり見ないので
2014-05-27 18:23:17