2004-10-05から1日間の記事一覧

「継承はサブタイピングではない」[Cook90]

OOP

…のメモ。再帰的な型 T を、 T = µt.F[t]と書くとき、 T = µt.{a:int, c:t, b:t→t} T1 = {a:int, c:T, b:T→T, d:bool} T2 = µt.{a:int, c:t, b:T→t, d:bool} T3 = µt.{a:int, c:t, b:t→t, d:bool}で、 T1, T2 は T のサブタイプだが、T3 はそうではない(型 …