methodical
methodical copied to clipboard
Functional and flexible multimethods for Clojure. Nondestructive multimethod construction, CLOS-style aux methods and method combinations, partial-default dispatch, easy next-method invocation, helpf...
If you call a `defmethod` with the wrong number of args you'll get a misleading arity exception that reports you've passed one more are than you actually have: ```clj (m/defmulti...
hi @camsaul I attempted to solve #59 -- Thanks for contributing to Methodical. Before open a pull request, please take a moment to: - [x] Ensure the PR follows the...
Hi! Is it planed to implement clojurescript support?
``` operator.clj:149 recur arg for primitive local: sum is not matching primitive, had: Object, needed: long Auto-boxing loop arg: sum ``` Is this patch correct? ```clojure (defoperator + [methods invoke]...
#46 would make this extra useful. Maybe a general `describe` protocol could be used for describing the various components like method table or dispatcher and they can implement them if...
I think `trace` can swap out the untraced var and as long as the metadata points to the original the various mutative methods should find it without drama (like they...
Is it possible remove WeakReference usage or add generic WatchingCache? JavaScript engine does not implement WeakReference but implement WeakMap. For clojurescript support #20
We should add a util fn to figure out if the effective method for a dispatch value is the default method. `primary-method` can tell you if a method exists for...
Like vanilla Clojure multimethods, Methodical multimethods assume dispatch values are bounded. There are some cases where this might not be desirable, e.g. if they're random numbers or something like that....
[Vanilla Clojure multimethods cache the last known state of their hierarchy when adding methods or during method calculation. They check for changes to the hierarchy on invocation by checking whether...