Хорошо, я использовал параметр компиляции -i
, чтобы указать папку для некоторого источника haskell при компиляции с использованием GHC.Что такое опция -i при компиляции hs-файла с использованием GHC и как это сделать в GHCi?
ghc -threaded -i/d/haskell/src --make xxx.hs
Я понимаю, что эти файлы используются как «библиотеки» при компиляции, но могу ли я сделать то же самое в GHCi?
Обычно я импортирую haskell предварительно упакованный lib, например. import Data.List
или :m +Data.List
.
Я пробовал import /d/haskell/src
- не работает!
EDIT С Haskell документа: Chapter 2 Using GHCi Обратите внимания, что в GHCi и режиме ––make
, опция -i
используется, чтобы указать путь поиска для исходных файлов, в то время как в стандартном режиме пакетной компиляции опция -i
используются для укажите путь поиска для файлов интерфейса.
Мне удалось обойтись: 'ghci -i/d/haskell/src' (обратите внимание, что после' -i' нет пробела). Затем мне все еще нужно было загрузить мой модуль, используя ': load' или i tested': add', чтобы работать то же самое. – vis
Вы также можете указать его как аргумент, 'ghci -i/d/haskell/src/d/haskell/src/Module.hs' Если вы загружаете только один модуль, вам даже не нужен' -i ', но у меня обычно есть много подмодулей, в которые ghci не найдет иначе. –