On Mon, Jul 23, 2012 at 11:59 AM, Ben Mabey <b...@benmabey.com> wrote:
> Another downside I have ran into that hasn't been mentioned is with (Java)
> serialization.  If you are using records and defining protocols inline you
> can serialize the record just fine, however if you change the implementation
> then all of your old serialized records are incompatible even if the change
> was superficial.

Another related downside is that during development, you'll reload
your defrecord forms, and each time you do so it creates a new class
that is visually indistinguishable from the last. Witness:

user> (defrecord x [a b c])
user> (def x1 (x. 1 2 3))
user> (defrecord x [a b c])
user> (def x2 (x. 1 2 3))
user> (= x1 x2)
false

-Phil

-- 
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