The usefullness of EQUALP

Among the 4 Lisp’s equality operators equalp may be the least used, but it has some really cool features:

  • it matches strings ignoring case (this is well-known, I suppose)
  • it also matches structs
  • it also matches vectors and arrays
  • and it matches hash-tables

The last 3 are really useful, because unlike strings and other primitive types, there’s no specialized equality predicates for built-in structural types, so equalp fills this role.

(contributed by @vseloved)