[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: load-time-eval
    What is the meaning of the phrase "When [a use of LOAD-TIME-EVAL] is
    compiled to core (by COMPILE-FILE)..."  and how does it
differ/relate
    to the meaning of the phrase "When a use of LOAD-TIME-EVAL is
compiled
    (by COMPILE-FILE)"?  They sound the same to me.
I guess there is a typo in my message.  I should have said "compiled to
core by COMPILE". 
load-time-eval is different than #, because you can use it in a macro
and have part of the macroexpansion evaluated at load-time.
Given:
(defmacro my-macro ()
  `(my-macro-run-time-function
      (load-time-eval
        <form which evaluates to object only known at load time>)))
This defun:
(defun foo () 
  (my-macro))
is equivalent to:
(defun foo ()
  (my-macro-run-time-function
     '#,<form which evaluates to object only known at load time>))