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

Reply via email to