camsaul / methodical

Functional and flexible multimethods for Clojure. Nondestructive multimethod construction, CLOS-style aux methods and method combinations, partial-default dispatch, easy next-method invocation, helpful debugging tools, and more.
Eclipse Public License 2.0
295 stars 19 forks source link

Should we error (or at least log a warning?) if aux methods have ambiguous order? #103

Open camsaul opened 2 years ago

camsaul commented 2 years ago

If you have two :before methods that are both applicable but neither one is dominant over the other, the order they are applied is indeterminate. This matters for the threading method combinations because they can transform the value. :around methods can transform the value for the CLOS method combination as well (are we already erroring for :around methods?).

We should either error like we do for ambiguous primary methods or at least log a warning (probably just once)