libera/#lisp - IRC Chatlog
Search
5:21:47
jackdaniel
right, I misunderstood what you wrote, still not quite right (ditto defconstant vs defvar)
6:43:02
mrcom
Anything can be a constant. For example, I just had to fix some of my code when SBCL started treating a DEFCONST structure as a literal constant.
6:46:07
mrcom
From clhs definition of CONSTANTP: "An implementation is permitted, but not required, to detect additional constant forms. If it does, it is also permitted, but not required, to make use of information in the environment. Examples of constant forms for which constantp might or might not return true are: (sqrt pi), (+ 3 2), (length '(a b c)), and (let ((x 7)) (zerop x)). "
13:41:20
Andrew
Is there a version control system that is Lisp-source-code-friendly, i.e. especially its diffing algorithm treats code as structural expressions rather than diffs things line-by-line?
13:42:46
Andrew
For example, original 'A new '(A B) should be somehow described as "wrap the thing in a list and place a B at the tail" rather than "remove the line that says 'A and add a line that says '(A B)
13:43:20
Andrew
I mean, since lisp is an explicit tree structure, it makes more sense to me to be diffing things logically
13:47:04
trev
i think there exists syntax-aware diff tools using treesitter, but maybe i am imagining things