Skip to content

Conversation

@karlosz
Copy link
Contributor

@karlosz karlosz commented May 23, 2022

According to the LOAD-TIME-VALUE entry for CLHS
http://clhs.lisp.se/Body/s_ld_tim.htm, "It is guaranteed that the
evaluation of form will take place only once when the file is loaded,
but the order of evaluation with respect to the evaluation of top
level forms in the file is implementation-dependent." Therefore, doing
LOAD-TIME-VALUE of a function call where the function is defined in
the same file is not portable code.

This is important to fix because old versions of CMU CL do take
advantage of this fact, and future versions of SBCL may as well.

According to the LOAD-TIME-VALUE entry for CLHS
http://clhs.lisp.se/Body/s_ld_tim.htm, "It is guaranteed that the
evaluation of form will take place only once when the file is loaded,
but the order of evaluation with respect to the evaluation of top
level forms in the file is implementation-dependent." Therefore, doing
LOAD-TIME-VALUE of a function call where the function is defined in
the same file is not portable code.

This is important to fix because old versions of CMU CL do take
advantage of this fact, and future versions of SBCL may as well.
@quicklisp quicklisp merged commit 09dde88 into quicklisp:master Sep 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants