<<>> <> <> <> <<>> DIRECTORY SafeStorage, IO, Atom, Rope, Basics, MathStructures; MathStructuresImpl: CEDAR PROGRAM IMPORTS Rope EXPORTS MathStructures = BEGIN <> ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Object: TYPE = MathObjects.Object; MethodDictionary: TYPE = MathObjects.MethodDictionary; <> StructureDataRep: TYPE = RECORD [ methods: MethodDictionary, props: Atom.PropList <> <> <> <<(Or should such selectors, and indeed all ops on a Domain itself, reside in the methods of some suitable Category? Perhaps such an op can be a method both in the Domain and in the Category, the Domain knowing that it's a (reflexive) "Structure" method, and the Category knowing that it's an "Element" method, and that its "impl" is found by looking the appropriate method up in the "Element's" methods.>> <<>> <> <> <> <> <<];>> <<>> <<>> END.