
On Mon, 2007-04-23 at 10:48 +0100, Neil Mitchell wrote:
Of course we don't make the same api stability promises about the stuff in the .Base module.
Base is a bit too friendly a name, I would have expected Internal somewhere in the name if this library really is internal and has no guarantees.
True. I think I originally called it .Internal but it ended up as .Base in the end. I don't recall why. Possibly because that's how it's done for the Data.Array.* modules. Perhaps we should rename it, then everyone would know it's not stable ;-) even the name isn't stable!
Plus there is no way for a library user to know that this Base thing is less stable than the rest of the base library, without going as far as the documentation - which I certainly didn't do.
True, this can only be done by convention. I think .Internal naming is quite a good and obvious convention. The other strategy (as followed by Data.Array.Base) is to hide the module from haddock and thus also from hoogle, casual users would never stumble across it. Duncan