<< 2010/01/21 | ホーム | 2010/01/23 >>

Union Types for Object-Oriented Programming

union type の提案。union type は 2 つのクラスの同じ名前のメンバに関しては区別なく扱えるような型のこと。S と T の union type を (S or T) と書くことにして、D1 と D2 が C を継承して E1 が D1 を、E2 が D2 を継承しているとすると、E1 と E2 は (E1 or E2) の subtype で、D1, D2, (E1 or E2) は (D1 or D2) の subtype で、(D1 or D2) は C の subtype となる。あと、union type な式に対して具体的な値の型で分岐する case 文を導入。意味論と型付け規則を定義して健全性を証明。

author="Atsushi Igarashi and Hideshi Nagira",
title="{Union Types for Object-Oriented Programming}",
booktitle="SAC '06",
publisher="ACM",
pages="1435--1441",
year="2006"

http://doi.acm.org/10.1145/1141277.1141610

タグ : ,