Its interesting that despite the utility of S-Expressions, as mentioned, semantic diff, for example, of CL code is uncommon.
By that I mean highlighting the diff between these:
(dolist (i l)
(print (car i)))
(dolist (i l) (print (cdr i)))
With the diff highlighting the `car` changed to `cdr` rather than just the raw lines being changed.I'm pretty sure this exists, but it's uncommon (at least to me its uncommon).