Введение
1 Поддержка языковыми конструкциями, эволюционного расширения и повторного использования 13
1.1 Операции, обеспечивающие эволюционное расширение 13
1.2 Эволюционное расширение языковых конструкций 18
1.3 Эволюционно расширяемые языковые конструкции, удобные для повторного использования 37
1.4 Место процедурно-параметрического программирования в эволюционной разработке программ
1.5 Перегрузка процедур с одинаковой сигнатурой .39
1.6 Выводы 41
2 Применение обобщенных записей для эволюционного расширения и повторного использования 42
2.1 Организация обобщений современных языков 42
2.2 Организация и использование параметрического обобщения 54
2.3 Особенности организации обобщенной записи 60
2.4 Базовые операции с обобщенными записями 66
2.5 Использование обобщенных записей с обобщающими , параметрическими процедурами
2.6 Дополнительные возможности, связанные с использованием обобщенных записей 70
2.7 Выводы 73
3 Эволюционное расширение и повторное использование за счет подключаемых модулей 74
3.1 Методы построения модульной структуры программы 74
3.2 Распределение языков по характеристикам модулей 95
3.3 Расширение программы на основе подключаемых модулей 97
4 Особенности процедурно-параметрического программирования 118
4.1 Типичные ситуации расширения написанного кода 118
4.2 Использование ряда парадигм при простых расширениях кода 119
4.3 Реализация объектно-ориентированных образцов с использованием процедурно-параметрической парадигмы 130
4.4 Выводы 138
Заключение 139
Список использованных источников 141


