gpt4 book ai didi

haskell - {-# OPTIONS_HADDOCK hide #-} 对非导出模块有影响吗?

转载 作者:行者123 更新时间:2023-12-02 16:06:36 25 4
gpt4 key购买 nike

假设我有一个使用 Cabal 打包和构建的库,并且某些模块 Internal 不在我的 cabal 文件的 Exposed-modules 中。如果我指定一个编译指示,会有什么不同吗

{-# OPTIONS_HADDOCK hide #-}

位于Internal.hs的顶部,还是根据Haddock它已经自动隐藏了?

如果确实有影响,会产生什么影响?

最佳答案

如果包的黑线鳕是使用 --internal 标志创建的,cabal haddock 会有所不同。

$ cabal help haddock
Usage: cabal haddock [FLAGS]

Flags for haddock:
-h --help Show this help text
-v --verbose[=n] Control verbosity (n is 0--3, default verbosity
level is 1)
<snip>
--executables Run haddock for Executables targets
--internal Run haddock for internal modules and include all
symbols
<snip>

如果在创建 haddocks 时没有使用 --internal 标志,则 hide 模块属性不起作用:无论如何都不会为该模块创建任何文档。

如果给出 --internal ,则为非公开模块创建文档,除了那些指定 hide 属性的模块。 p>

换句话说,如果未设置hide并且指定--internal或导出模块,则会生成文档。/p>

可以使用cabal install --haddock-internal指定--internalcabal haddock的使用,或者在手动调用cabal haddock,或使用 runhaskell ./Setup.hs ... 接口(interface)。

大多数人只是使用默认选项运行cabal install,因此只有少数人会观察到差异。

关于haskell - {-# OPTIONS_HADDOCK hide #-} 对非导出模块有影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13914500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com