对equal来说,若它的参数打印出的值相同,返回真。
对eql来说,只有它的参数是相同的对象时才返回真。
CL-USER> (eql (cons 'a nil) (cons 'a nil))
NIL
CL-USER> (equal (cons 'a nil) (cons 'a nil))
T
CL-USER> (setf x (cons 'a nil))
(A)
CL-USER> (eql x x)
T
CL-USER> (eql x (cons 'a nil))
NIL
CL-USER> (equal x (cons 'a nil))
T
CL-USER>