Деребня: не удалось создать график зависимости (при добавлении разделов с * или заголовком модуля)
Вопрос
Я собрал и установил холдья-2.4.2 из источника Тарбола.
Добавление нескольких простых комментариев к коду здесь:
И бегая пикша
$ haddock -h -o doc Data/DualMap.hs
Warning: Data.DualMap: could not find link destinations for:
Data.Typeable.Typeable2 GHC.Base.Eq GHC.Show.Show GHC.Base.Ord GHC.Base.Bool Data.Set.Set
Доходность:
Все выглядит хорошо. (Обратите внимание, что этот модуль зависит только от LIBS, которые поставляются с GHC, и никаких других источников.)
Однако, когда я пытаюсь добавить разделы (а -ля http://www.haskell.org/haddock/doc/html/ch03s04.html#id289234 ) в комментариях с "- * test" я получаю:
$ haddock -h -o doc Data/DualMap.hs
Data/DualMap.hs:20:0: parse error on input `-- * test'
haddock: Failed to create dependency graph
Я понятия не имею, с чего начать работу, так как это сообщение об ошибке говорит мне только о том, что хэддок.interface.depanal ничего не вернул (в соответствии с грипом источников сокса), но не то, как остановить анализ зависимостей от неудачи. Возможно, мне понадобятся еще несколько аргументов командной строки или ссылки на отсутствующие направления ссылки в документации GHC/Base/Containers или какой -то файл конфигурации сокса?
Поиск Google дал множество ошибок в сборке в кабине одного и того же ILK для пакетов на Hackage, но ничего о том, как их исправить.
Как добавить разделы (со звездочками) и получить пиклет, чтобы генерировать мои документы? Что (наверное, просто) мне не хватает?
Решение
Простое исправление (ужасное сообщение об ошибке):
Переместите (вверх на строку с именем модуля. Предыдущий плохой код:
module Data.DualMap
-- * The @DualMap@ abstract type
( DualMap ()
-- * (?) internal? -- exposed for testing purposes, for now...
, dmFlip
-- * converting to and from DualMap
, toList, fromList, map
-- * constructing a DualMap
, empty, null, insert, union
Счастливый код выглядит так:
module Data.DualMap (
-- * The @DualMap@ abstract type
DualMap ()
-- * (?) internal? -- exposed for testing purposes, for now...
, dmFlip
-- * converting to and from DualMap
, toList, fromList, map
-- * constructing a DualMap
, empty, null, insert, union
Достаточно просто. Я нашел это, загрузив Dlist от Hacakge и потрошить его и заменить код моим собственным кодом. Когда DLIST работал с «Деткой Кабала», а мой не сделал (когда я пытался добавить несколько звездочек), я посмотрел на разницу между файлами, и, конечно же, моя скобка была не на той линии.
Кстати, я очень рекомендую DLIST в качестве стартового места для нового проекта Haskell вместо hnop.