What dispatch mechanism should be used for extension points?
Opened this issue · 1 comments
jjttjj commented
Currently Iboga uses its own "dispatch mechanism", as seen here. Essentially it just keeps a big map in an atom of qualified keywords to maps of functionality implemented for that keyword.
This could also be implemented as multimethods, which has the advantage of being a standard clojure.core feature. However, multimethods feel like they're a bit overkill when they just dispatch on a keyword, and are a bit awkward when we really want to associate data with a keyword and not functionality.
I'm not in love with the naming and terminology of the current setup: set-schema!
and "attributes".