This is a tangent from Brian's question about struct inheritance: While I am not sure that I want struct inheritance, it seems unnecessarily hard to write the macro for it. Structs are not first class citizens, in that you cannot reflect against them. I want to ask:
(defstruct person :fname :lname) (struct-keys person) ;hypothetical function -> (:fname, :lname) Of course, by poking around a little bit I can get the answer: ; reflective goo (.get (.getDeclaredField (class person) "keys") person) -> (:fname :lname) Two questions: (1) Should Clojure provide a function to reflect on a PersistentStructMap$Def's keys? (2) Philosophical question: Why not make fields like Def.keys public to begin with? They are they key public contract of the Def class anyway. With keys public I would be comfortable with just saying (.keys person) for the scenario of reflecting against structure definitions. Stuart --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---