Currently all definitions (including type constructors) are included in the returned table; as well as any foreign exports being assigned. We should either:
- Switch to a method of explicit exports, where nothing is included in the returned table except for things mentioned in an
export (foo, bar); statement;
- Specify precisely what is automatically included. Particularly, are imports automatically exported? Currently no, but how do we do re-exports then?
Probably option 1 is best; we could even add a glob argument e.g. export (..); which exports everything1.
Currently all definitions (including type constructors) are included in the returned table; as well as any
foreign exports being assigned. We should either:export (foo, bar);statement;Probably option 1 is best; we could even add a glob argument e.g.
export (..);which exports everything1.Footnotes
This really just kicks the can down the road, and forces us to specify what the glob operator does. But it might be more predictable for programmers this way. ↩