descendants

added
1.0

ns
clojure.core

type
function

(descendants tag) (descendants h tag)

Returns the immediate and indirect children of tag, through a
relationship established via derive. h must be a hierarchy obtained
from make-hierarchy, if not supplied defaults to the global
hierarchy. Note: does not work on Java type inheritance
relationships.

                ;; simple example a toy poodle is a poodle is a dog is an animal

user=> (derive ::dog ::animal)
nil
user=> (derive ::poodle ::dog)
nil
user=> (derive ::toy_poodle ::poodle)
nil
user=> (descendants ::animal)
#{:user/toy_poodle :user/poodle :user/dog}
user=>