Третий манифест Кристофера Дейта и Хью Дарвена
Очень строгие OO-суждения
Очень строгие OO-суждения
В языке D следует поддерживать некоторую форму наследования типов (см. OO-утверждения 2 и 3). В соответствии с этим суждением в языке D не следует поддерживать неявные преобразования типов.
Следует поддерживать логическое различие между определениями операций и определениями типов их параметров и/или результатов, не связывая эти определения в один узел (хотя селекторы и операции, требуемые в RM-утверждении 5 можно рассматривать как исключения по отношению к этому суждению).
Следует поддерживать генераторы типов коллекций, такие как LIST, ARRAY и SET, распространенные в языках с развитыми системами типов.
Для любого генератора типа коллекции С, отличного от RELATION, следует обеспечить операцию преобразования (скажем, C2R) для преобразования значений типа C в отношения и обратную операцию (скажем, R2C) таким образом, что:
- C2R(R2C(r)) = r для любого выразимого r;
- R2C(C2R(c)) = c для любого выразимого значения c типа C.
Следует основывать язык D на одноуровневой модели хранения.
Содержание раздела