タグ

型理論に関するsh-2のブックマーク (1)

  • Covariantとcontravariant - tkawachi Blog

    今日 Functional Programming Principles in Scala で聞いた話が難しかったのでメモ。 Subtype 書き方として A <: B と書けば A は B の subtype であることを示す。 A >: B と書けば A は B の supertype、言い換えれば B は A の subtype であることを示す。 Subtype とは何か?というのは Liskov substitution principle というので定義されている。 「A <: B であれば、B型の値に対して出来ることならなんでもA型の値に対して出来る」ということらしい。 クラス階層で言えば、 A <: B というのは A が B の subclass または A == B ってこと。 Subtype の概念はクラス階層にとどまらない。 こんな型が定義されていたら、 class

  • 1