2013-06-23 3 views

ответ

22

Просто введите import qualified Data.Text или import qualified Data.Text as T внутри ghci, как и в вашем коде.

+5

Обратите внимание, что это было добавлено в GHC 7.0. – shachaf

+0

Ужасно, я имел в виду мой СОБСТВЕННЫЙ модуль. – vildric

+2

@vildric Что заставляет вас думать, что ваш собственный модуль отличается от чужого модуля? Просто «импортируйте квалифицированные My.Own.Modules как MOM', предполагая, что пакет с модулем« My.Own.Module »установлен или модуль находится в области с помощью других средств. –

15

Я не знаю довольно способ сделать то, что вы хотите, но вы могли бы подделать его с чем-то вроде этого:

  1. Во-первых, использовать :load My/Module.hs для загрузки модуля.
  2. Используйте :module - My.Module, чтобы вывести его из сферы действия.
  3. (необязательно.) Используйте import qualified My.Module as MM, чтобы довести его до предела.

Каждый модуль, о котором знает GHCi, автоматически доступен полностью, поэтому после шага 2 My.Module.value будет работать нормально. Шаг 3 необходим только в том случае, если вы хотите использовать более короткий префикс.

Если вы хотите загрузить несколько файлов одновременно, то :load может это сделать;

:load My/Module1.hs My/Module2.hs ... My/ModuleN.hs 

будет работать нормально. Он поместит вас в область *My.Module1, а затем My.Module2 ... My.ModuleN все будут доступны, как указано выше.

Для получения дополнительной информации о GHCi, вы всегда можете проверить the GHC User's Guide, Ch. 2: "Using GHCi"; особенно соответствующие разделы: §2.2, "Loading source files" и §2.4.5, "What's really in scope at the prompt?".