On Mar 29, 4:40 pm, David Nolen <dnolen.li...@gmail.com> wrote: > I see, thanks for the clarification. It does seem like you are purposefully > creating a situation in which type will fail since something more likely: > (type (proxy [clojure.lang.IRef][])) > > works fine. > > I'm wondering if a CLOS-like system would really have to handle such a > degenerate (in the technical sense :) case as the one you've pointed out? > I'm interested in hearing reasons if there is one. Because the design domain of CLOS is the values of the language for which it's implemented. If Rich says that an object like the one I created is not a Clojure value--that constructing such a value is an error--then it makes sense to implement a version of CLOS that traps them on input and raises an informative exception. Otherwise, we have to accept that such values, no matter what we may think of them, are Clojure values, and any implementation of CLOS for Clojure must do something sensible with them. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---