Spec-Zone.ru › Haskell 9

6.3.2. Импорты с квалификацией пакета

PackageImports
Since:

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.12.1/docs/users_guide/exts/package_qualified_imports.html

Spec-Zone.ru

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