<registrant date="Jan 13, 2000" name="Paul Johnston" email="[EMAIL PROTECTED]" homepage="http://www.stanford.edu/~pcj" userID="ICKHABOD" /> <description> Sort::ByCompatMatrix is a package for sorting objects based on the values of its attributes. It is useful for dicovering how 'similar' objects are to one another. An attribute is defined as an instance method of an arbitrary perl object whose return value is one of a known set of enumerated values. The relationship or 'compatibility' of these values are defined in a 2x2 adjacency matrix (a graph) where each entry in the matrix represents the weight of that directed edge. Weights are typically given as either positive or negative numbers indicating the strength of relative attraction or relative opposition. Version "0.01" consists of the following Perl code: Sort::ByCompatMatrix::CompatibilityMatrix; Sort::ByCompatMatrix::AttributeSet; Sort::ByCompatMatrix::Comparator; Sort::ByCompatMatrix::Demo; The sort is initialized by creating a comparator object with: (1) an AttributeSet (contains the name, weight, and CompatibilityMatrix for each attribute) and (2) an array of suitably attributed objects to be sorted. A sort is accomplished by passing a reference object -- the standard by which all others are compared -- to the comparator. This Comparator object is reusable for many sort calls. </description> <PlannedDLSIEntry name="Sort::ByCompatMatrix" DSLI="RdpO" Info="ICKHABOD" description="sort objects by attruibute compatibility" /> <discussion> None public. Developed for internal use at internet company 'women.com', being released for public consumption. Reasoning is that (1) others might find it useful (2) others might add or suggest useful changes that would in turn be beneficial to women.com. </discussion> <module-dependance> Essentially none. Does not use any external CPAN or event standard modules, but does require the user to define an object with the attributes to be compared. <module-dependance> <timeline-to-submit> Probably ready by time registration is complete. Still need to clear it with one more person here. </timeline-to-submit> Module name as suggested by Tim Bunce, sounds good to me. --Paul # ------------------------------- # Paul Johnston # [EMAIL PROTECTED] # phone internal: x4016 # phone external: call main switchboard at # 650-378-6500 and request to be connected # to x4016 # -------------------------------