#commonlisp Equality
(defstruct fooa)
(defparameter *a* (make-foo :a 1))
(defparameter *b* (make-foo :a 1))
(eq *a* *b*) ;; NIL
(eql *a* *b*) ;; NIL
(equal *a* *b*) ;; NIL
(equalp *a* *b*) ;; T
#commonlisp Equality
(defstruct foo@shinmera I did it across SBCL, ECL, and ABCL, mostly because those are the ones I care about. Even just doing ECL taught me that it and SBCL don't have the same equal behaviour (one considers :version, the other doesn't).
I should probably do more, but back when I was testing transducers and had half the world's CL implementations installed, I found many were just broken.
Do you have a recommended list?
@shinmera I'll link to that as well. And of course you'd already rolled your own, haha.
Either way my spurt of NIH was positive; I got to dig through the spec a few times and got another CL lib out the door.
@louis God bless org-mode. I run the code blocks in the README to get the results, which are also conveniently rendered, so there's less risk of "doc drift".
Announcing my newest #commonlisp library, filepaths. It offers modern and consistent filepath (i.e. pathname) operations.
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.