0

OK、-iGHCを使用してコンパイルするときに、コンパイルオプションを使用して、フォルダーをhaskellソースに指定しています。

ghc -threaded -i/d/haskell/src --make xxx.hs

コンパイル中にこれらのファイルを「ライブラリ」として使用することは理解していますが、GHCiで同じことを行うことはできますか?

私は通常、haskell のパッケージ化された lib egimport Data.Listまたはをインポートし:m +Data.Listます。

試してみましたimport /d/haskell/src-- うまくいきません!

EDIT Haskell doc から: Chapter 2 Using GHCi GHCi モード––makeでは、-iオプションはソース ファイルの検索パスを指定するために使用されますが、標準のバッチ コンパイル モードでは-iオプションはインターフェイス ファイルの検索パスを指定するために使用されます。

4

2 に答える 2

2

「-i」フラグは問題ありません。問題はモジュールのロードにあります。

ghci 内で:mは、事前にコンパイルされたモジュール、またはコマンドラインで指定されたモジュールのいずれかにのみ切り替えます。:add MyModuleHaskell ソースファイルをコンパイルするように ghci に指示するには、 を使用する必要があります。

あなたが持っている場合

./src/Module/SubModule.hs

次の方法でロードできます。

localuser$ ghci -isrc
GHCi, version 7.0.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :add Module.SubModule
[1 of 1] Compiling Module.SubModule        ( src/Module/SubModule.hs, interpreted )
Ok, modules loaded: Module.SubModule.
*Module.SubModule>
于 2011-06-24T11:15:39.810 に答える
0

私はあなたが言うことができると思います:set -i /d/haskell/src; すべてではありませんが、多くの GHC オプションをそのように設定できます。または、直接パラメータとして使用できるはずです: ghci -i /d/haskell/src.

于 2011-06-24T10:03:08.847 に答える