<<>> <> <> <> <<>> DIRECTORY SafeStorage, IO, Atom, Rope, Basics, MathObjects; MathTypeResolution: CEDAR DEFINITIONS = BEGIN <> <<>> <> <> <> <<>> <> <<>> <> <<"Bound": we are given a particular Domain or View S, and a particular Element Object O, and we want to know if O can be converted (recast) to be an Element of S.>> <<"Free": we are given a methodKey $foo, a list A of actual arg Element Objects, possibly an initial Domain, View, or Category, and we seek a Structure S which has a Method $foo, such that we can succeed at the "Bound" problem of converting the components of A to match foo$[S]'s runtimeType. Of course we hope that we can succeed using our initial given candidate for S, or a Structure to which some element of A belongs. >> <> <<(1) the currently instantiated Domains, Views, Categories (with their attendant collections of Methods),>> <<(2) the current system (global) Domain and Category lattices,>> <<(3) currently known Packages,>> <<(4) other means of Method lookup,>> <<(5) possibly other sources of rules and heuristics.>> <<>> <> <<>> <> <<>> <> <> <<>> <> <> <> ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Object: TYPE = MathObjects.Object; MethodDictionary: TYPE = MathObjects.MethodDictionary; <<>> END.