在Fay中包含文件/目录的正确方法是什么?

时间:2012-12-20 16:35:15

标签: haskell fay

我正在尝试使用Fay将haskell编译为JS,在--include选项之后使用一个目录,如下所示:

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

src \ Tmv中有一个SharedTypes.hs文件,它定义了Client \ Main.hs中使用的模块Tmv.SharedTypes。我收到以下错误:

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

1 个答案:

答案 0 :(得分:3)

从评论中移除它,因为它显然解决了问题:

当GHC查找源文件时,通常它期望在子目录Foo.Bar中找到Bar.hs模块Foo,相对于它从哪个“根”目录开始。例如,如果以Foo作为当前目录启动GHCi,则无法找到模块Bar或者错误,因为模块名称与GHC期望的不匹配。

由于在您的情况下似乎有相同的规则,要导入Tmv.SharedTypes,您希望SharedTypes.hs位于任何基本路径的Tmv子目录中,因此要么创建另一个Tmv子目录或单独为src指定--include应该有效。