Hi, Am 29.03.2009 um 08:34 schrieb David Nolen:
Not totally following you here as: (proxy [clojure.lang.IMeta clojure.lang.IRef][])immediately throws an error. I can't think of a situation in Clojure where the type function does not return a usable value. Let me know if I'm wrong, but your example is not a case as far as I can tell.
The point that Mikel wants to make is, that you can easily provide a proxy, which implements clojure.lang.IMeta. But when you don't provide a "meta" implementation, the proxy will throw a UnsupportedOperation exception. Hence type will not work. I personally consider this a non-issue. What is the point of providing an interface and then yell "I WONT DO IT" at the system, when it tries to do the advertised action? In my opinion, you should provide the advertised methods. What's the point of the interface otherwise? Sincerely Meikel
smime.p7s
Description: S/MIME cryptographic signature