
On Tue, Feb 01, 2005 at 03:19:11PM -0000, Simon Marlow wrote:
On 01 February 2005 11:31, ross@soi.city.ac.uk wrote:
On Tue, Feb 01, 2005 at 11:02:45AM -0000, Simon Marlow wrote:
So the new approach is to try to build up a global table of the "best" destinations to link to for each entity. The question is how to determine "best". Here's my first stab:
- A is better than B if A directly or indirectly imports B
Perhaps it should be the other way round: the lowest non-hidden module that exports the name (if more than one such, fix on one). This would need most of GHC.* hidden, which is desirable anyway.
Yes, maybe that's better, but it's not enough on its own. For example, GHC.Exts exports Int, but there's no relationship between Prelude and GHC.Exts in the import hierarchy - so how do we determine which one is better? (GHC.Exts shouldn't be hidden, BTW. The rest of GHC.* probably should.)
If there is to be a single "best" place for each entity, then for a datatype (or a data constructor) we want the one with the most complete export (which need not exist in general). In this case that has to be GHC.Exts, nuisance that it is for non-GHC users. Perhaps we do need slightly different docs for different implementations after all.