methodical icon indicating copy to clipboard operation
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...

Results 54 methodical issues
Sort by recently updated
recently updated
newest added

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...

bug
high-priority!

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?

enhancement
help wanted
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]...

help wanted

#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...

enhancement

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...

enhancement
high-priority!

Is it possible remove WeakReference usage or add generic WatchingCache? JavaScript engine does not implement WeakReference but implement WeakMap. For clojurescript support #20

clojurescript support

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...

enhancement
high-priority!

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....

enhancement

[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...

clojurescript support