26.6. Дополнительные замечания 315
Как и в случае с частично абстрактным АТД счетчиков, наш счетчик-объект позволяет обращаться к
своему значению как через вызов метода get, так и напрямую путем чтения поля x в его состоянии.
Упражнение 26.5.4 : Покажите, как расширить кодирование экзистенциальных типов универ-
сальными из §24.3 на случай кодирования ограниченных экзистенциальных типов через ограниченные
универсальные. Убедитесь, что правило наследования S-Some следует из кодирования и правил на-
следования для ограниченных кванторов.
26.6. Дополнительные замечания
CLU (Liskov et al. 1977 1981; Schaffert 1978; Scheifler 1978) был, судя по всему, первым языком с
безопасной ограниченной квантификацией. Понятие границ параметров в CLU по существу представ-
ляет собой квантификацию — ограниченную квантификацию (§26.2), обобщенную до множественных
параметров-типов.
В форме, рассматриваемой в этой книге, идея ограниченной квантификации была впервые введена
Карделли и Вегнером в языке Fun (Cardelli and Wegner 1985). Их исчисление «ядерный Fun» соответ-
ствует нашей системе F
<:
. Fun был основан на более ранних идеях Карделли, формализован при помощи
методов, разработанных Митчеллом (Mitchell 1984b), и сочетал полиморфизм по Жирару-Рейнольдсу
(Girard 1972; Reynolds 1974) с исчислением наследования первого порядка Карделли (Cardelli 1984).
Исходная версия Fun была упрощена и подверглась некоторому обобщению в работе Брюса и Лонго
(Bruce and Longo 1990), а затем в работе Куриена и Гелли (Curien and Ghelli 1992). В результате полу-
чилось исчисление, которое мы называем полной F
<:
. Наиболее подробным обзором по ограниченной
кватификации является статья Карделли, Мартини, Митчелла и Щедрова (Cardelli, Martini, Mitchell
and Scedrov 1994).
F
<:
и родственные системы активно изучались теоретиками и разработчиками языков программиро-
вания. Первые примеры ограниченной квантификации были даны в статье-обзоре Карделли и Вегнера;
дальнейшие примеры последовали в работе Карделли по степенным видам (Cardelli 1988a). Куриен и
Гелли (Curien and Ghelli 1992; Ghelli 1990) рассматривают некоторые синтаксические свойства F
<:
. Се-
мантические свойства систем, близких к F
<:
, изучаются в работах Брюса и Логно (Bruce and Longo
1990), Мартини (Martini 1988), Бреазу-Таннена, Кокана, Гантера и Щедрова (Breazu-Tannen, Coquand,
Gunter and Scedrov 1991), Кардоне (Cardone 1989), Карделли и Лонго (Cardelli and Longo 1991), Кар-
делли, Мартини, Митчелла и Щедрова (Cardelli, Martini, Mitchell and Scedrov 1994), Куриена и Гелли
(Curien and Ghelli 1992, 1991) и Брюса и Митчелла (Bruce and Mitchell 1992).
Карделли и Митчелл (Cardelli and Mitchell 1991), Брюс (Bruce 1991), Карделли (Cardelli 1991), а
также Кэннинг, Кук, Хилл, Олтхофф и Митчелл (Canning, Cook, Hill, Olthoff and Mitchell 1989b) расши-
рили F
<:
, добавив типы-записи и более богатое понятие наследования. Ограниченная квантификация
играет ключевую роль в языке Quest, созданном Карделли (Cardelli 1991; Cardelli and Longo 1991), в
языке Abel, разработанном в лабораториях HP (Canning, Cook, Hill and Olthoff 1989a; Canning, Cook,
Hill, Olthoff and Mitchell 1989b; Canning, Hill and Olthoff 1988; Cook, Hill and Canning 1990), и в недавних
разработках вроде GJ (Bracha, Odersky, Stoutamire and Wadler 1998), Pict (Pierce and Turner 2000) и
Funnel (Odersky 2000).
Воздействие ограниченной квантификации на кодирование по Чёрчу (§26.3) рассматривалось у Гел-
ли (Ghelli 1990), а также Карделли, Мартини, Митчеллом и Щедровым (Cardelli, Martini, Mitchell and
Scedrov).
Расгирение F
<:
типами-пересечениями (15.7) исследовалось Пирсом (Pierce 1991b, 1997b). Вариант
той же системы с видами высшего порядка применяется к моделированию объектно-ориентированных
языков с множественным наследованием в работе Компаньони и Пирса (Compagnoni and Pierce 1996);
метатеоретические свойства таких языков анализирует Компаньони (Compagnoni 1994).
rev. 104