我一直在收到含糊不清的警告,有时甚至是错误。这只是一个明确的例子。我正在使用doctest:
import Turtle
import Prelude hiding (FilePath)
import System.IO hiding (FilePath, stdout, stderr) -- trying to hide std...
import Text.Regex.TDFA
它显然有效,至少目前是这样,但这些警告是浩繁的,烦人的,可能是危险的。
我试图应对隐藏,就像这样(Main.hs,所有导入):
fprintf
但没有区别。
是否有正确的一般方法?
答案 0 :(得分:1)
您可以编辑.ghci
文件并添加
:m - Prelude
这样GHCi不应该预加载Prelude
,但是就像Jubobs一样,我建议你不要首先重用这些名字,或者用某种组合导入(合格)
import Turtle hiding (stdout)
import qualified Turtle as T
import Turtle ( noOverlappingFunc, NonOverlappingType )
这只是写作的轻微不便
T.stdout
代替。
恕我直言将Prelude
中的内容隐藏起来并不是一个好主意 - 除了你看到的问题总是存在 peaple <的问题/ em>阅读您的代码及其期望