libera/#lisp - IRC Chatlog
Search
10:51:27
minion
The URL https://gitlab.common-lisp.net/users/sign_up?secret=08506267 will be valid until 11:00 UTC.
10:52:33
minion
There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms".
11:11:21
mgl
Is the compiler required to maintain the identity of literal lists in code? I've reported this for ECL: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/665 but I'm now seeing similar issues on abcl and cmucl.
11:38:35
pjb
mgl: it is not; on the contrary, the compiler is allowed to coalesce all literal objects.
11:41:35
specbot
Literal Objects in Compiled Files: http://www.lispworks.com/reference/HyperSpec/Body/03_bd.htm
11:44:41
pdietz
If you want to avoid (or ensure) coalescence with COMPILE-FILE, you can use LOAD-TIME-VALUE to get the behavior you want.
11:47:04
pdietz
Also, remember "The consequences are undefined if literal objects (including quoted objects) are destructively modified."
11:52:48
mgl
Thanks, everyone. So the compiler is not required to maintain the identity of literals, but it must not make EQ literals not EQ, so the linked bug report is valid.
11:55:09
specbot
Additional Constraints on Externalizable Objects: http://www.lispworks.com/reference/HyperSpec/Body/03_bdd.htm
11:57:35
mgl
"Objects containing circular references can be externalizable objects. The file compiler is required to preserve eqlness of substructures within a file. Preserving eqlness means that subobjects that are the same in the source code must be the same in the corresponding compiled code."
13:09:56
jackdaniel
is it still the case on develop branch? or latest release? some changes to literals were actually introduced after 20.x.x
19:06:42
amazigh
I started with a big idea, then wrote 600 lines of shell, now when I look at it; it looks is so small compared to my Big Plan.