На этом шаге мы рассмотрим описание такого модуля.
Существует два способа импортирования модулей:
module <Имя_модуля> where import <Имя_модуля_1> [(<Объект_1>,[<Объект_2>...])]
В случае импортирования нескольких модулей с объектами, имеющими одинаковые имена, применяют служебное слово qualified:
module <Имя_модуля> where import qualified <Имя_модуля_1> [(<Объект_1>,[<Объект_2>...])]
Имена объектов импортируемых модулей приобретают следующий вид:
<Имя_модуля>.<Имя_объекта>
В декларации импорта можно выборочно "спрятать" некоторые из экспортируемых объектов с помощью служебного слова hiding:
import hiding <Имя_модуля> (<Объект_1>)
В этом случае из модуля импортируется всё, что перечислено в его интерфейсе, за исключением <Объект_1>.
При импорте можно определить псевдоним модуля для квалификации имён экспортируемых из него объектов. Для этого используется служебное слово as:
import qualified <Имя_модуля> as <Сокращённое_имя_модуля>
Это может быть полезным для укорачивания имён модулей.
На следующем шаге мы рассмотрим моделирование комплексных чисел.