<<>> <> <> <> <<>> DIRECTORY SafeStorage, IO, Atom, Rope, Basics, MathObjects; MathPackages: CEDAR DEFINITIONS = BEGIN <> ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Object: TYPE = MathObjects.Object; MethodDictionary: TYPE = MathObjects.MethodDictionary; <> <> <> << >> Package: TYPE = Object; PackageData: TYPE ~ REF PackageDataRep; PackageDataRep: TYPE; <> <> <> <<>> Packages: Object; PackagesData: TYPE ~ REF PackagesDataRep; PackagesDataRep: TYPE; -- Can perhaps include a RedBlackTree of known Packages, to capture a linear order for package searching in method lookup (although this role could be supplanted by the convention that Packages are only known ("registered") in some MathEnvironment). If that convention not adopted, PackagesData should also include access to Methods for "enumerate current Packages", " LookupMethodInPackage", etc. <<>> END.