考虑以下模块
{-# LANGUAGE RecordWildCards #-}
module Example (foo, fuh, fon, fuzz) where
import qualified FirstClassModule (Bar(foo,fuh,fon,fuzz), makeBar)
FirstClassModule.Bar {..} = FirstClassModule.makeBar parameter
parameter :: Int
parameter = 15
目的是该模块FirstClassModule
提供了一种记录类型Bar
,其工作方式有点像一流的模块。然后,模块Example
实例化模块并使用 RecordWildCards 扩展将名称带入范围并使其可导出。
当你在这个模块上运行 Haddock(2.8 版)时,它会干扰foo
函数的类型签名并将它们包含在 API 文档中。现在,我的问题是:
有没有办法记录生成的名称
foo
,fuh
等而不在模块中写下它们的类型签名Example
?
我不想写类型签名,因为在这种情况下,因为它们是样板文件。如果我必须把它们写下来,这个模块就失去了存在的理由。