Skip to content

Releases: camsaul/methodical

0.12.3

0.12.2

20 Oct 20:19
cafc98a
Compare
Choose a tag to compare

Small changes to improve error messages when no matching multimethod impl is available.

  • Record multimethod ^:name metadata (for defmulti) and include it in "No matching method" errors #68
  • "No matching method for dispatch value" should pr-str the dispatch value #78

0.12.1

20 Aug 08:32
Compare
Choose a tag to compare
  • Fixes a bug with some utility functions that dispatch on more than four values (#67)
  • Work towards ClojureScript support (#52 and #71)
  • Switch to flat namespace declarations and fix a bunch of Clj-Kondo warnings (#79)

0.12.0

11 Jun 01:46
5d06a7b
Compare
Choose a tag to compare
  • Added new trace facility to instrument Methodical multimethods and print calls to primary/aux methods (and their results) (#15):

    image

  • Fixed bug where the method returned by effective-primary-method didn't have :dispatch-value metadata (#61)

  • Fixed by where defmethod macro did not generate valid function named for certain dispatch values that contained spaces periods (#60)

0.11.3

09 Jun 19:45
f527a7e
Compare
Choose a tag to compare
  • Fix bug where defmethod macro didn't work correctly for multi-arity functions (#57)

0.11.2

05 Jun 02:16
d0a8071
Compare
Choose a tag to compare
  • Fix some bugs with new effective-dispatch-value and dominates? functions added in 0.11.0. (#55, #56). This also fixes regressions in 0.11.0 related to the cache returning incorrect methods.

0.11.0

04 Jun 05:57
Compare
Choose a tag to compare

Methodical is no longer "alpha"

  • Bump dependencies (#48)
  • Add 2-arity versions of matching-primary-methods and matching-aux-methods to util (#2)
  • Add effective-dispatch-value method (#10)
  • Share the same cached method for all dispatch values with the same effective method rather than building duplicate methods (#39)

0.10.1-alpha

04 Mar 19:11
9f45fd1
Compare
Choose a tag to compare
  • Disabled AOT which caused compiled interfaces to be included in JAR, causing compilation failures in some situations. Fixes #33, #40. (Credit: @robhanlon22)

0.10.0-alpha

23 Apr 03:03
65807bf
Compare
Choose a tag to compare
  • Added new multi-default-dispatcher, which is the new default. Methodical multimethods with multi-arg dispatch values can now dispatch on partial defaults, e.g.
(m/defmethod my-method [:x :y]
  [_]
  :x-y)

(m/defmethod my-method [:default :y]
  [_]
  :default-y)

(m/defmethod my-method :default
  [_]
  :default)

(my-method [nil :y]) ; -> :default-y

See PR #35

0.9.6-alpha

22 Apr 18:40
132bf1e
Compare
Choose a tag to compare
  • defmethod now works correctly for vars linked by Potemkin (e.g. with import-vars) (#32)