Шаг 120.
Основы языка Haskell. Абстрактные типы данных (АТД). Ассоциативные списки на базе списка пар. Модуль как способ реализации АТД
На этом шаге мы рассмотрим понятие модкля.
- Замечание [1, с.213].
-
Теория L списочных структур имеет нелогические символы head, tail, ":" (аналог операции Cons в языке программирования LISP), Atom и следующие аксиомы:
- head(X:Y)=X;
- tail(X:Y))=Y;
- NOT(Atom(X)) => (head X):(tail X)=X;
- NOT(Atom(X:Y))).
Модуль как способ реализации АТД
Механизм модульности позволяет разделять программы на несколько сравнительно независимых частей (модулей) с чётко определёнными связями между ними. Тем самым облегчается процесс
проектирования и последующей поддержки больших программных систем.
Поддержка модульности не является свойством именно функциональных языков программирования, однако поддерживается большинством таких языков. Существуют развитые модульные языки императивного программирования
(в качестве примеров привести языки Modula-2 и Ada-95).
- Определение ([2, с.153]).
- Модуль - это программа, содержащая законченную с точки зрения программиста функциональность и употребляемая в качестве повторно используемого компонента.
В языке Haskell модули используются для:
- (1) структуризации исходных кодов программы с целью удобства последующей отладки;
- (2) контроля за пространством имён;
- (3) создания абстрактных типов данных.
В одном файле может быть собрано несколько модулей.
(1)Математическая логика в программировании: Сб.статей 1980-1988 гг. - М.: Мир, 1991. - 408 с.
(2)Душкин Р.В. Функциональное программирование на языке Haskell. - М.: ДМК Пресс, 2007. - 608 с.
На следующем шаге мы рассмотрим описание модуля с экспортируемыми объектами.
Предыдущий шаг
Содержание
Следующий шаг