Дифференциальная документация с пикшой

Если я сделаю cabal build в моей библиотеке, затем измените файл, при следующем запуске cabal buildМне нужно только перекомпилировать файлы, затронутые изменениями. Я не получаю такое же поведение с cabal haddock команда: когда я запускаю его после изменения файла, cabal/haddock заканчивает тем, что выбрасывал всю предыдущую работу и начинал с нуля. Это довольно много времени; Есть ли способ получить дифференциальные обновления документации?

Вот дамп командных выпусков, чтобы сгенерировать документацию.

1 ответ

Документация processModules гласит:

Создайте интерфейсы и среду ссылок, проверив список модулей с помощью API GHC и обработав результирующие синтаксические деревья.

И это основная функция haddock, Таким образом, банкомат ответит на ваш вопрос нет.

cabal build не помогает cabal haddock вообще, как haddock модули проверки типов с различными параметрами (например, __HADDOCK__ Переменная CPP включена)

Создание надежной инкрементальной генерации пикши сложно, так как код позже в графе зависимостей может изменить документацию модулей, предшествующую этой точке: в частности, списки экземпляров. Возможно, можно было бы сбросить интерфейсы модулей.

Глядя на кодprocessModules первый шаг - это то, что можно сделать постепенно, остальное использует глобальная информация.

Попробуй превратить многословие в максимум т.е. --haddock-options=--verbosity=2 и проверьте, сколько времени тратится между Creating interfaces... а также Attaching instances...,

Другие вопросы по тегам