(type egg)
(signature "disjoint-set egg")
(timestamp 1612269487)
(sxml ((section 2 "Outdated egg!" (p "This is an egg for CHICKEN 4, the unsupported old release.  You're almost certainly looking for " (int-link "/eggref/5/disjoint-set" "the CHICKEN 5 version of this egg") ", if it exists.") (p "If it does not exist, there may be equivalent functionality provided by another egg; have a look at the " (link "https://wiki.call-cc.org/chicken-projects/egg-index-5.html" "egg index") ". Otherwise, please consider porting this egg to the current version of CHICKEN.")) (section 2 "Disjoint Set" (p "An implementation of a " (link "http://en.wikipedia.org/wiki/Disjoint-set_data_structure" "disjoint set") " data structure.") (p "A disjoint set is a data structure to hold sets of items, providing efficient procedures for finding a representative of the set any item is contained in, and also for joining two sets together.") (p "The user must provide a hash procedure and equality check procedure for the items to be stored in the data structure.") (section 3 "Procedures" (def (sig (procedure "(make-disjoint-set hash-function equality-test)" (id make-disjoint-set))) (p "Returns a reference to a disjoint-set object.")) (def (sig (procedure "(disjoint-set:make disjoint-set item)" (id disjoint-set:make))) (p "Converts the given item into a disjoint set item, and adds it to the disjoint set.  There is no usable output.")) (def (sig (procedure "(disjoint-set:find disjoint-set item)" (id disjoint-set:find))) (p "Returns a reference to the representative item of the set that the given item appears in.")) (def (sig (procedure "(disjoint-set:union disjoint-set item-1 item-2)" (id disjoint-set:union))) (p "Modifies the disjoint set, merging the sets represented by the given items.  There is no usable output."))) (section 3 "Author" (p (int-link "/users/peter-lane" "Peter Lane") ".")) (section 3 "License" (p "GPL version 3.0.")) (section 3 "Requirements" (p "Needs srfi-69")) (section 3 "Version History" (ul (li "1.0: initial release"))))))
