Location of inlinePerformIO

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Mon Apr 23 06:02:51 EDT 2007


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



More information about the Libraries mailing list