私の問題が何であるか分かりません。私はA.hs、B.hs、C.hsの三つのモジュールを持っています。全てC:\..path...\folder
に位置し、BとCモジュールBとCの両方がIはgchiで:l C:\..path..\folder\A.hs
ができ、その内容でプレイラインをimport A
依存関係を持つHaskellモジュールをロードする
を含む、あるA.
両方からインポートモジュールです。私は何の問題B.exeにB.hsをコンパイルし、実行可能ファイルを実行しなかったので、私は奇妙な見つける:l C:\..path..\folder\B.hs
または:l C:\..path..\folder\C.hs
Could not find module `A'
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
しようとすると、しかし、GHCiのは、次のエラーが発生します。 ghciにロードできないモジュールをコンパイルして実行するにはどうすればよいですか?あるいは、なぜコンパイル時にインポートが成功するのですが、読み込みに失敗しますか?特にインポートされているモジュール自体がロード可能な場合は特にですか?
私は一度同様の問題を抱えていました。起動時にモジュールをロードすると( 'ghci A.hs B.hs')、エラーになりますか? –
うーん、私はそれを試して、いくつかの警告と動作します。 ghciがghciを起動したら、ghciは両方のモジュールのクレームを作成します – Tshimanga
Hmm、いくつかの注意点があります: 'ghci A.hs B.hs'を起動すると、ghciは両方のモジュール読み込まれていますが、実際にコンテンツとのやりとりを開始すると、A.hsの関数と型だけがアクセス可能になります。私はB.hs.で何のためにスコープ内のエラーを取得します。 私が引数を交換すると(代わりに 'ghci B.hs A.hs'として起動します)、私は両方の内容で遊ぶことができます。この特異性はそれ自体が興味深いです。 まだ、元のアプローチが失敗した理由を理解することの問題は依然として立っています。しかし、この回避策は高く評価されています。ありがとうございます@WolfeMacfarlane – Tshimanga