Spec-Zone.ru › Haskell 9

6.3.2. Импорт с указанием пакета

PackageImports
Начиная с:

6.10.1

Позволяет использовать синтаксис import с указанием пакета.

С расширением PackageImports GHC позволяет указывать в объявлениях импорта имя пакета, из которого следует импортировать модуль. Например:

import "network" Network.Socket

импортирует модуль Network.Socket из пакета network (любой версии). Это можно использовать, чтобы устранить неоднозначность импорта, если один и тот же модуль доступен из нескольких пакетов или присутствует как в текущем собираемом пакете, так и во внешнем пакете.

Специальное имя пакета this можно использовать для ссылки на текущий собираемый пакет.

Примечание

Скорее всего, вам не понадобится эта возможность: она была добавлена главным образом для того, чтобы мы могли создавать обратно совместимые версии пакетов при изменении API. В обычных случаях она может приводить к ненадёжным зависимостям: модули иногда перемещаются из одного пакета в другой, из-за чего любой импорт с указанием пакета перестаёт работать. Альтернативный способ устранить неоднозначность имён модулей описан в разделе Исключение и переименование модулей.

© 2002–2007 The University Court of the University of Glasgow. All rights reserved.
Licensed under the Glasgow Haskell Compiler License.
https://downloads.haskell.org/~ghc/9.14.1/docs/users_guide/exts/package_qualified_imports.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API