strong user demand for a packaging mechanism
basis for hiding implementation
ability to cache packages permits more efficient use of network
the unit is a collection of classes which are written to work together
some sort of namespace control is critical
is there an anonymous package? can definitions exist outside packages?
should the package be a syntactic unit? YES
we have yet to define the syntax, e.g. whether we need to wrap { and } around the contents.
You have to be able to detect the end of the package
do classes declare which package they belong to?
how do you know whether you have seen the complete package? (this is separate from whether the package is one or more files) We have an agreement that we need to be able to find the limits of packages
we have a shared reluctance for binding the definition of packages to files
the use of an import mechanism to build a package from multiple files (needs to be declarative)
the use of an export mechanism and a way to rename classes and methods etc. on export
may want a textual inclusion mechanism?
the ability to declare that a package is a collection of classes without necessarily embedding the source for those classes?
precompiled packages