Haddock: задокументировать объявление с подписью предполагаемого типа?

Рассмотрим следующий модуль

{-# 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 , который работает немного как модуль первого класса. Затем модуль Пример создает экземпляр модуля и использует расширение RecordWildCards, чтобы ввести имена в область видимости и сделать их экспортируемыми.

Когда вы запускаете Haddock (версия 2.8) в этом модуле, это будет мешать типу подписи для функций foo и включить их в документацию по API. Теперь мой вопрос:

Есть ли способ задокументировать полученные имена foo , fuh и т. Д. без записи сигнатур их типов в модуль Example ?

Я не хочу писать сигнатуры типов, потому что в данном случае они являются шаблонными. Если мне придется их записать, этот модуль теряет raison d'être .

6
задан Heinrich Apfelmus 9 April 2011 в 09:51
поделиться