More Powerful Multimethods
summary
Methodical is a library that implements drop-in replacements for Clojure multimethods and adds concrete features: immutable Clojure objects for multimethods, next-method chaining so methods can call the next-most-specific method, auxiliary qualifiers (before/after/around) that thread return values, partial-default dispatch across multiple dispatch values, alternate method combinations (seek/do) that invoke every applicable method, a cache that flushes on hierarchy changes, and composable multimethods used at Metabase for JDBC timestamp handling; performance claims match or beat core multimethods.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 2:56Closure multimethods recap
- 7:10Real-world next method use case
- 12:47Auxiliary methods overview
- 18:45Before method use cases
- 21:11Partial default dispatch
- 23:28Method combinations explained
- 26:38Exotic method combinations
- 29:07Programmatic composition
- 31:54Dispatcher and hierarchy
- 34:46Caching effective methods
- 37:13Future of methodical








