2010-08-19 2 views
35

Когда я использую GHCi, я почти всегда ввожу Control.Applicative, Data.List и т. Д. Есть ли способ настроить GHCi для автоматического импорта этих модулей.Как настроить GHCi для автоматического импорта модулей

Кроме того, после их импорта, как мне заставить запрос быть безумно длинным?

Prelude Control.Applicative Data.List Database.HDBC Database.HDBC.Sqlite3 System.Directory> 

ответ

44

GHCi ищет его конфигурационный файл в

  • ~/.ghc/ghci.conf на Unix-подобных системах.

  • %APPDATA%\ghc\ghci.conf на Windows.

Синтаксис файла конфигурации прост: это список команд GHCi для запуска при запуске.

Например, ваш ghci.conf может содержать:

import Control.Applicative 
import Data.Char 
import Data.List 

:set prompt "> " 

Последняя строка устанавливает приглашение на "> " поэтому он не будет показывать все модули, импортированные в командной строке.

Теперь вы можете приступить к работе сразу:

GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer-gmp ... linking ... done. 
Loading package base ... linking ... done. 
> toLower <$> "Hello, world!" 
"hello, world!" 
> 

Кроме того, если вы решите, что вы не хотите Data.Char в середине сеанса GHCi, вы можете удалить его с:

:m -Data.Char 

и если вы решили, что ничего, кроме прелюдии не хотите во время сеанса:

:m 
+0

Это, похоже, не влияет на мою установку Win. Похоже, ghci.conf не читается. У меня не было этого файла по умолчанию также – Ghita

+0

в Windows 7 путь:% APPDATA% \ Roaming \ ghc – miro

+0

@fjordrunner: В моей системе% APPDATA% расширяется до 'C: \ Users \ ja \ AppData \ Roaming' , –

21

GHC Уиллу lso загрузить любой .ghci файл, который он находит в текущем каталоге. Очень полезно выполнять настройку GHCi для каждого проекта.

Это пример из проекта я работаю:

:set -isrc:dist/build/autogen 
:set -hide-package mtl 

Во-первых, там, чтобы убедиться, что модули, порожденные Кабал легко импортировать. Второй шкур mtl, так как этот конкретный проект использует transformers.

+0

Как это сделать в Windows? Я не могу назвать файл «.ghci», и он, кажется, игнорирует настройки в локальном файле «ghci.conf». – crockeea

+0

Я получил файл '.ghci' для работы в Windows. Однако Explorer не позволит мне переименовать файл в '.ghci'. Найдено 2 способа обойти: ** Использование Блокнота: ** В окне «Сохранить как» -> Изменить 'Сохранить как тип' на' Все файлы (*. *) 'Или добавит расширение .txt -> Имя файл '.ghci' и нажмите save _ ** ИЛИ ** _ ** Используя командную строку: ** Перейдите в папку проекта Haskell с проводником -> введите' cmd' в адресную строку этого окна и нажмите enter. Это откроет командную строку, начинающуюся в этой папке -> 'mv somefile.ghci .ghci' – jhr

Смежные вопросы