Re: Overwrite equals in defrecord
use deftype which is more low-level and I think doesn't define equals or put y in meta data that don't participate in equality...:) Hi Jim, this works! However, if you need the multiple features of records, you would need to have the generated code of defrecord in order to reimplement records with deftype. Is there something available? Thanks, Marc -- -- 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 --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Overwrite equals in defrecord
On Fri, Oct 25, 2013 at 4:41 PM, Marc Dzaebel mdzae...@web.de wrote: However, if you need the multiple features of records, you would need to have the generated code of defrecord in order to reimplement records with deftype. Is there something available? Hey Marc, I've recently been using this little library potemkin which has a few useful deftype-like macros that would save a lot of typing (albeit I had a different use case from yours), maybe deftype+ will work for you: https://github.com/ztellman/potemkin#def-abstract-type-and-deftype Cheers. -- Wbr, Andrii V. Mishkovskyi. He's got a heart of a little child, and he keeps it in a jar on his desk. -- -- 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 --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Overwrite equals in defrecord
(defrecord R [x y]) automatically defines a reasonable *equals* method using x y. However, is it possible to overwrite the method as it should use X only? My tries resulted in *Duplicate method namesignature in class Do I have to use extend-type?* -- -- 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 --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Overwrite equals in defrecord
use deftype which is more low-level and I think doesn't define equals or put y in meta data that don't participate in equality...:) Jim On 22/10/13 22:44, Marc Dzaebel wrote: http://cmayes.wikispaces.com/PracticalClojure13: ... defrecord does not support Java class inheritance, so it cannot override methods of Java classes, even abstract classes. However, it does permit you to override methods of java.lang.Object such as hashCode, equals, and toString. Simply include java.lang.Object in the defrecord as if it were an interface. Clojure will generate good value-based implementations of the hashCode and equals methods, so it is rarely necessary to implement them yourself. (defrecord R [x y] java.lang.Object (equals [_ r](= x(.x r -- Duplicate method namesignature in class file -- -- 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 --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.