ディスカッションとは、ブログエントリ、本(できれば)などを意味します。
バックグラウンド
Martin Odersky、Lex Spoon、BillVennersによるScalaプログラミングを2回目に読んでいますが、驚いたことに、共変性と反変性についての記事を読んだことがあります。
私がこの質問を投稿する理由はこれです-著者はクラスQueueの構築から始めて、共分散がどのように、どこで、できるか、できないかについて議論します。すべてのステップは前のステップの論理的な結果ですが、最後のステップの1つは、キュー(先頭)に要素を追加することです。
(elem : Apple) :: (queue[Orange])
ただし、Scalaではこのように機能し、結果はFruitタイプのキューになります。
そして、これは私の意見では間違っています-誰かがフルーツのキューを希望する場合、それはそもそもそのようなキューでなければなりません。タイプをオンザフライで変更することは、私の好みにはあまりにも動的です(つまり、object
タイプを取得するためだけに、intと文字列を追加するようなものです)。
言及された本はScalaに関するものであり、タイプの多様性はその一部にすぎないので、私はもっと充実したものを探しています。
質問
したがって、質問-型の違いに焦点を当てた言語設計について何を読むべきですか?万が一、ベンジャミンC.ピアスの「タイプとプログラミング言語」(私の購入リストに載っています)でしょうか。