6

私は次の--includeようなオプションの後に1つのディレクトリでFayを使用してHaskellをJSにコンパイルしようとしています:

fay --include src\Tmv src\Tmv\Client\Main.hs

Tmv.SharedTypesClient\Main.hsで使用されるモジュールを定義するSharedTypes.hsファイルがsrc\Tmvにあります。次のエラーが発生します。

Could not find module "Tmv.SharedTypes". Use -v to see a list of files searched for.

-vオプションは機能しません。私はパラメータのいくつかのバリエーションを試しました。絶対パス、引用符、エスケープされた(二重)円記号。
構成:fay 0.10.1.0、ghc 7.4.2(i386)、Windows 7 x64

4

1 に答える 1

3

明らかに問題を解決したので、これをコメントから移動します。

GHCがソースファイルを探すとき、通常、モジュールが開始する「ルート」ディレクトリに関連して、サブディレクトリ内にあるようにモジュールFoo.Barが見つかることを期待します。たとえば、現在のディレクトリとしてGHCiを起動すると、モジュールが見つからないか、モジュール名がGHCの期待と一致しないためにエラーが発生するという問題が発生します。Bar.hsFooFooBar

同じルールがあなたのケースで機能しているように見えるので、インポートするには、ベースパスが何であれサブディレクトリに入れたいので、別のサブディレクトリを作成するか、またはTmv.SharedTypesを単独で指定することが機能するはずです。SharedTypes.hsTmvTmvsrc--include

于 2012-12-20T21:09:25.533 に答える