Utility functions for implementing Dispatchers.
Utility functions for implementing Dispatchers.
(ambiguous? hierarchy prefs dispatch-value dispatch-val-x dispatch-val-y)True if neither dispatch-val-x nor dispatch-val-y dominate one another, e.g. because they are the same value or
are both equally-specific ancestors.
True if neither `dispatch-val-x` nor `dispatch-val-y` dominate one another, e.g. because they are the same value or are both equally-specific ancestors.
(distinct-by f)(distinct-by f coll)Like distinct, but uses value of (f item) to determine whether to keep each item in the resulting collection.
Like `distinct`, but uses value of `(f item)` to determine whether to keep each `item` in the resulting collection.
(dominates? hierarchy prefs x y)(dominates? hierarchy prefs default-dispatch-value x y)True if dispatch value x should be considered more specific for purposes of method combination over dispatch value
y, e.g. because x derives from y, or because x (or one of its ancestors) has been explicitly preferred over
y (or one of its ancestors).
4-arity version does not take the default-dispatch-value into account, but 5-arity version does.
True if dispatch value `x` should be considered more specific for purposes of method combination over dispatch value `y`, e.g. because `x` derives from `y`, or because `x` (or one of its ancestors) has been explicitly preferred over `y` (or one of its ancestors). 4-arity version does not take the `default-dispatch-value` into account, but 5-arity version does.
(domination-comparator dominates?-pred)(domination-comparator hierarchy prefs)(domination-comparator hierarchy prefs dispatch-value)Given a hierarchy and prefs return a function that can be used to sort dispatch values from most-specific to
least-specific.
Given a `hierarchy` and `prefs` return a function that can be used to sort dispatch values from most-specific to least-specific.
(prefers? hierarchy prefs x y)True if x or one of its ancestors is preferred over y or one of its ancestors.
True if `x` or one of its ancestors is preferred over `y` or one of its ancestors.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |