On Apr 30, 9:46 pm, russellc <russell.christop...@gmail.com> wrote: > Should this compile? > > (defprotocol P (p [this])) > (defrecord R [k] P (p [{:keys [k]}] k)) > > java.lang.ClassCastException: clojure.lang.PersistentArrayMap cannot > be cast to clojure.lang.Symbol
defrecord doesn't yet support destructuring as far as I know. The extend-protocol example below works because unlike defrecord which generates actual methods, it's a shorthand form for generating a bunch of fns (the argvector is just passed as is to the fn operator) and passing them to extend. -- 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 Note that posts from new members are moderated - please be patient with your first post. 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