正在OPTIONS杂注中设置导入路径



根据GHC 8.4.3标志引用,-i标志是动态,这意味着它应该可以由OPTIONS杂注设置。

所以我尝试了以下方法:

.
├── Main.hs
└── imp
└── Imported.hs

imp/Imported.hs:的内容

module Imported (foo) where
foo :: String
foo = "Foo"

Main.hs:的内容

{-# OPTIONS_GHC -iimp #-}
import Imported (foo)
main :: IO ()
main = putStrLn foo

但是,如果我尝试使用runhaskell运行Main.hs,它会抱怨找不到Imported

$ runhaskell -v Main.hs
...
Main.hs:2:1: error:
Could not find module ‘Imported’
Locations searched:
Imported.hs
Imported.lhs
Imported.hsig
Imported.lhsig

如何在OPTIONS杂注中指定-i标志?

这似乎是一个文档错误的回归,该错误在2007年被修复,然后在2014年当标志引用表中的一堆"静态"更改为"动态"时被重新打破。根据链接的错误报告,-i标志不是完全动态的。它可以是GHCi中的:set,但不能在OPTIONS_GHC行中指定。

相关内容

  • 没有找到相关文章

最新更新