我正在尝试使用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),Windows7 x64
发布于 2012-12-21 05:09:26
从评论中移出这一点,因为它显然解决了问题:
当GHC查找源文件时,它通常希望在子目录Foo中以Bar.hs的形式找到一个模块Foo.Bar,相对于它从哪个“根”目录开始。例如,如果以Foo作为当前目录启动GHCi,则会出现模块Bar未被找到的问题,或者模块名称与GHC期望的名称不匹配而出现错误。
由于相同的规则似乎在您的示例中起作用,要导入Tmv.SharedTypes,您希望SharedTypes.hs位于Tmv子目录中,无论基本路径是什么,因此创建另一个Tmv子目录或为--include指定单独的src应该是可行的。
https://stackoverflow.com/questions/13976578
复制相似问题