haskell - 为隐藏成员生成黑线鳕
问题描述
我可以为隐藏成员生成 Haddock 文档吗?我的用例是我有一个类型T
显示在某些函数的签名中。例如f :: T -> U
,g :: T -> U
. 我希望我图书馆的用户知道T
它的用途,而不是实际导出它。是否有意义?这可能吗?
解决方案
一种选择是添加
{-# OPTIONS_HADDOCK ignore-exports #-}
这将生成 Haddock 文档,就好像有一个空的导出列表一样——即,好像所有内容都在模块中导出。
或者,C 预处理器可用于隐藏/显示 Haddock 文档中的一些条目。一个人可能不得不用这样的东西来调用黑线鳕(未经测试)
haddock --optghc=-cpp --optghc=-DHADDOCK ...
然后,在haskell源代码中,
{-# LANGUAGE CPP #-}
module M
( export1
, export2
#ifdef HADDOCK
, notExportedButWeWantDocsAnyway
#endif
, export3
) where
...
(我认为黑线鳕已经定义了一个宏来见证它的存在,但我在它的文档中找不到它。人们总是可以使用用户定义的黑线鳕标志。或者也许就是这个。)
推荐阅读
- ruby - Selenium::WebDriver::Driver:Class 的未定义方法 `execute_script' (NoMethodError)
- angular - 使用 httpClient.get() 从角度获取标头
- haskell - 快速检查 Collatz 猜想
- java - 在 selenium 中选择具有几乎相同属性的单选按钮
- alexa - 在 alexa 视频技能中如何停止 addVideoAppLaunchDirective ?我正在使用 addVideoAppLaunchDirective 播放视频
- wordpress - 通过 vuejs 使用 Gravity 表单 API 以重力形式上传文件
- linux - 在 echo 命令中使用 $RANDOM 的 Bash 脚本语法
- sql - 每天统计数据
- unity3d - 如何在统一控制台中启用搜索栏
- asp.net - 如何允许 Azure Active Directory 租户中的多个用户使用其凭据登录?