I don't have time to look at all those links, but I like the general
idea of "export" or whatever you want to call it. In fact, I suggested
it myself a while back. I tend to have a list of imports at the top of
my source files, and I would prefer to consolidate them for aesthetics
and convenience.
This issue first came to my attention when I wrote my Scalar package
("Efficient Scalars in Scala":
http://russp.us/scalar-scala.htm). This
package allows users to define their own package of physical units (or
they can use one of the predefined packages of units). Let's say you
have a units package called "myUnits". To use it, you import the
following:
import scalar._
import myUnits._
The first import provides access to the operators and such for any
package of units, and the second provides access to the actual units
to be used. There is no significant use case where you want the second
import without the first. If export were available, the user could
omit the first import, which would be cleaner and more convenient. It
would be less to remember for using the REPL as a units-aware
calculator, for example.
--Russ P.
--
http://RussP.us