Procedure: apply proc [arg1 ...] args
Argsmust be a sequence (list, vector, or string) or a primitive Java array. (This is an extension over standard Scheme, which requires thatargsbe a list.) Calls theproc(which must be a procedure), using as arguments thearg1... values plus all the elements ofargs.
Syntax: constant-fold proc arg1 ...
Same as
(, unlessprocarg1...)procand all the following arguments are compile-time constants. (That is: They are either constant, or symbols that have a global binding and no lexical binding.) In that case,procis applied to the arguments at compile-time, and the result replaces theconstant-foldform. If the application raises an exception, a compile-time error is reported. For example:(constant-fold vector 'a 'b 'c)is equivalent to
(quote #(a b c)), assumingvectorhas not been re-bound.