Ticket #769 (new defect)

Opened 2 years ago

Last modified 2 years ago

HackageDB messes up {-# OPTIONS_HADDOCK hide #-}

Reported by: blamario Owned by:
Priority: low Milestone:
Component: hackageDB website Version: 1.8.0.6
Severity: minor Keywords:
Cc: Difficulty: unknown
GHC Version: Platform:

Description

Have a look at the SCC 0.6 package page ( http://hackage.haskell.org/package/scc) and then try to see, say, its XML module API ( http://hackage.haskell.org/packages/archive/scc/0.6/doc/html/Control-Concurrent-SCC-XML.html).

The reason for the 404 message that this module has a {-# OPTIONS_HADDOCK hide #-} pragma. When I tried Haddock locally, the effect was that the module became invisible, which was my intention. Making the module name visible but its documentation missing was not.

Change History

Changed 2 years ago by ross

That's true, but why do you want to expose a module and hide its documentation?

Changed 2 years ago by blamario

It seemed like a reasonable compromise between simplicity and openness. I don't mind anybody importing the hidden modules, I just don't want them to clutter the interface because their content is already re-exported through the visible modules.

Changed 2 years ago by ross

In that case, it seems you've nothing to lose from moving the modules you want to hide from exposed-modules to other-modules.

The package page sets out to present the info in the .cabal file, so the Modules section should list all the modules in exposed-modules. It could check the existence of each file individually in deciding whether to make the module name a link or just plain, but I think its simpler for people to use exposed-modules/other-modules than OPTIONS_HADDOCK hide.

Changed 2 years ago by blamario

Okay, I'll modify my .cabal file if that is the recommended approach. Do we agree that the current handling of OPTIONS_HADDOCK hide is a bug, though?

Changed 2 years ago by ross

  • priority changed from normal to low
  • severity changed from normal to minor

I think the module should be shown if listed in exposed-modules, but showing it as a link if the file is absent is a bug. I think it's a minor one, though, as other-modules is almost always more appropriate.

Note: See TracTickets for help on using tickets.