On Dec 13, 11:36 am, Stuart Sierra <the.stuart.sie...@gmail.com> wrote: > It's not clojure.walk, it's bean: > > user=> (empty (bean "hi")) > AbstractMethodError > clojure.lang.APersistentMap.empty()Lclojure/lang/IPersistentCollection; > clojure.core.proxy$clojure.lang.APersistentMap$0.empty (:-1) > > The generated class doesn't implement the 'empty' method. > > Please file a JIRA ticket, (and patch!)
I don't think there is an obvious way to implement (empty b) for beans, since empty is supposed to return an empty collection of the same type. bean-maps are implemented as a snapshot-creating wrapper around a mutable underlying object, and if the object changes then so do new generated snapshots. So if you tried to make an empty one, its underlying object would still not be empty, and what would snapshots do then? You could make (empty b) just return {}, but that's a philosophical departure from how bean and empty generally behave so I don't think it's as easy as "this behavior is incorrect, please implement a fix". -- 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