> > Yuck. Instead of defining a method on ::idea, you now must define a > method on [something-that-has-no-meaning-in-context ::idea] (because > the dispatch function must now return a vector, which means the > defmethods must now be called on vector dispatch values...).
Sure but as you mention below this could be hidden via a macro (defprotocol-method ...). This also could be used to implement something that works like eql specializers... > I was kind of sliding in another direction: I could always implement > CLOS-style method computation and sorting. But of course that might > mean not reusing multifn and its dispatch mechanism, and that seems a > shame. Maybe I could bury the defmethod ugliness in syntactic sugar... Looking at the requirements above it seems like you have something specific in mind for this system so perhaps Spinoza is not well suited for the particular thing you are shooting for. However all of your ideas are quite fantastic. I will definitely add protocol support to Spinoza, but it will probably be something that emphasizes static definitions with good support for runtime modifications. Your system sounds very interesting and it would be great to hear how it develops if only to get more ideas for Spinoza ;) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---