Цитата
является ли модуль типом данных
- нет, ты не можешь объявить переменную типа "модуль", поэтому
типом данных модуль никогда не был и не будет... Речь идет об
Абстрактном типе данных...
Цитата(http://grizlyk1.narod.ru/my/3.htm)
АТД это данные и функции для работы с ними, как и модуль. Относительно этих функций, АТД и является абстрактным, независимым от реальной природы данных. АТД не будет абстрактным типом относительно произвольной функции.
АТД можно представить как типизированный модуль. АТД имеет больший порядок абстракции чем модуль, по аналогии с типизированной переменной.
Функции АТД, как и функции модуля, исполняются в контексте реализации отличном от контекста их вызова. Для модуля такой контекст реализации один. Для АТД каждая переменная имеет свой контекст реализации, возможно разделяя часть его между всеми переменными. В модуле можно поддерживать несколько контекстов искусственно, как в примере "Реализация модуля с несколькими контекстами в структурной программе" (Пример 1) в разделе "Структурная программа:Модуль", но это происходит не автоматически. Если в программе есть только одна переменная АТД, то преимущества АТД не так очевидны. С таким же успехом можно вызывать функции модуля.
Что здесь может быть непонятно?
Нужны еще ссылки?
Смотри здесь ...