Haskell Haddock-未生成数据记录字段名称
我很难让haddock显示我的数据记录的字段名。我的一些数据类型有许多不同的数值,因此记录名称是关键 数据记录示例:Haskell Haddock-未生成数据记录字段名称,haskell,hackage,haddock,Haskell,Hackage,Haddock,我很难让haddock显示我的数据记录的字段名。我的一些数据类型有许多不同的数值,因此记录名称是关键 数据记录示例: -- | API response container for daily price history data PriceHistoryResponse = PriceHistoryResponse { responseData :: [PriceHistoryResponseData], -- ^ the actual response, list of price en
-- | API response container for daily price history
data PriceHistoryResponse = PriceHistoryResponse {
responseData :: [PriceHistoryResponseData], -- ^ the actual response, list of price entries
timeTo :: Maybe Integer, -- ^ latest price returned
timeFrom :: Maybe Integer -- ^ earliest price returned
} deriving (Show, Generic)
正在导出的数据类型如下所示:
-- more module exports above ..
, PriceHistoryResponse(..)
, PriceHistoryResponseData(..)
-- more below ...
对于此定义(以及所有其他类似定义),生成的唯一文档是构造函数的类型签名。然而,没有对涉及的价值进行解释
一个可能相关的细节是,我在这个文件中启用了DuplicateRecordFields
$ stack exec -- haddock --version
Haddock version 2.17.3
我是犯了一个明显的错误,还是遗漏了什么?很高兴提供任何其他有用的信息。问题确实是
重复记录字段。当我消除歧义并删除扩展名时,字段生成得很好。这很可能是DuplicateRecordFields
'错误。基本上,该扩展删除了所有记录标签,并用类方法替换它们,而Haddock似乎无法逆转这一过程。我从来都不喜欢这种延伸;你确定你需要走那条路吗?对具有明确字段名的记录使用lens
”对我来说似乎更为通用。@leftaroundabout:我正在为第三方JSON API编写包装器,许多请求和响应都具有跨不同端点共享的字段名。我想我可以采用使字段名唯一的方法,这似乎是一种不必要的解决方法。如果我采取消除歧义的方法,使用镜头有什么好处?我目前没有使用任何镜头功能谢谢@leftaroundabout的帮助!你说得对!