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

Reply via email to