
On Sat, Aug 28, 2010 at 1:41 PM, Ivan Lazar Miljenovic
On 28 August 2010 21:33, Johannes Waldmann
wrote: Perhaps Haddock could exclude class instance reporting when it cannot find a documentable link to a parameter?
The "cannot find documentable link" problem also comes up in situations like this (that don't involve type classes):
module Ex ( foo ) where data Secret = Secret foo = Secret
Should haddock generate documentation for foo (since it is exported) or not (since its result type is not exported)?
The more important question is "why doesn't it have a type signature?" :p
How does GHC deal with that kind of situation? Off the top of my head, I would think that in terms of how you could use it, that would be equivalent to also exporting Secret (the type, not the constructor); i.e. "module Ex (Secret, foo) where ...".
I tried this once, because I was wondering the same thing. Basically it works the way I expected: if you export functions which have a given type in their signature, but the type is not exported, you can use the functions and combine them however you want, but you can't explicitly mention or use the unexported type anywhere. At the time I actually had a use case in mind for why this would be useful, but I can't remember what it was.
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Work is punishment for failing to procrastinate effectively.