Третий манифест Кристофера Дейта и Хью Дарвена

       

Очень строгие OO-суждения


Очень строгие OO-суждения

  • В языке D следует поддерживать некоторую форму наследования типов (см. OO-утверждения 2 и 3). В соответствии с этим суждением в языке D не следует поддерживать неявные преобразования типов.

  • Следует поддерживать логическое различие между определениями операций и определениями типов их параметров и/или результатов, не связывая эти определения в один узел (хотя селекторы и операции, требуемые в RM-утверждении 5 можно рассматривать как исключения по отношению к этому суждению).

  • Следует поддерживать генераторы типов коллекций, такие как LIST, ARRAY и SET, распространенные в языках с развитыми системами типов.

  • Для любого генератора типа коллекции С, отличного от RELATION, следует обеспечить операцию преобразования (скажем, C2R) для преобразования значений типа C в отношения и обратную операцию (скажем, R2C) таким образом, что:

    1. C2R(R2C(r)) = r для любого выразимого r;

    2. R2C(C2R(c)) = c для любого выразимого значения c типа C.

  • Следует основывать язык D на одноуровневой модели хранения.



    Содержание раздела