Rationale for Ada 2005: Structure and visibility

RUSTOP
BACKNEXT

ENG

1. Overview of changes

@ The WG9 guidance document [1] identifies the solution of the problem of mutually dependent types as one of the two specific issues that need to be addressed in devising Ada 2005.

@ Moreover the guidance document also emphasizes Improvements that will remedy shortcomings in Ada. It cites in particular improvements in OO features, specifically, adding a Java-like interface feature and improved interfacing to other OO languages.

@ OO is largely about structure and visibility and so further improvements and in particular those that remedy shortcomings are desirable.

@ The following Ada issues cover the relevant changes and are described in detail in this paper:

@ These changes can be grouped as follows.

@ First there is the important solution to the problem of mutually dependent types across packages provided by the introduction of limited with clauses (217). Related changes are the introduction of tagged incomplete types (326) and the ability to have subtypes and renamings of incomplete views (412).

@ Another improvement to the visibility rules is the introduction of private with clauses (262).

@ There are some changes to aggregates. These were triggered by problems with limited types but apply to aggregates in general (part of 287).

@ An important area is that of limited types which are somewhat confused in Ada 95. There are two changes which permit limited values to be built in situ. One is the use of aggregates for initialization and the other is a more elaborate return statement which enables the construction of limited values when returning from a function (287, 318).

Rationale for Ada 2005: Structure and visibility

@ENGRUSTOPBACKNEXT

1. Обзор изменений

@ Руководящий документ [1] WG9 идентифицирует решение проблемы взаимно зависимых типов как одну из двух определенных проблем к которым нужно обратиться в усовершенствованиях Ады 2005.

@ Кроме того, руководящий документ подчеркивает что Усовершенствования должны исправить недостатки в Аде. Это относится к специфическим особенностям в облати OOП за счёт добавления java-подобного интерфейса и улучшения интерфейсной связи с другими языками OOП.

@ Усовершенствования в области OOП в значительной степени посвящены структуре и видимости.

@ Перечислим проблемы которые затрагиваются в этой статье:

@ Эти изменения могут быть группированы следующим образом.

@ Сначала есть важное решение проблемы взаимно зависимых типов пересекающихся пакетов, обеспеченных введением limited with утверждений (217). Связанные с этим изменения - введение неполных теговых типов (326) и возможность иметь подтипы и переименования неполных представлений (412).

@ Другое усовершенствование к правилам видимости - введение private with утверждений (262).

@ Есть некоторые изменения для агрегатов. Они были вызваны проблемами с ограниченными типами, но относятся к агрегатам вообще (часть 287).

@ Важная область - область ограниченных типов, которые несколько перепутаны в Аде 95. Есть два изменения, которые разрешают ограниченным значениям быть построенными на месте. Первое - использование агрегатов для инициализации, и второе - более сложное return утверждение, которое допускает конструкции ограниченных значений при возврате из функции (287, 318).

@ ENG RUS

TOP BACK NEXT

2010-10-24 00:26:54

. .