LOADTIMECONSTANT This file changes the macro for CONSTANT so that if a constant value doesn't have a readable print-name (e.g. an array), the value is constructed when the function is stored into an in-core array, either by compiling to core or by loading. Without this, such values are treated as DEFERREDCONSTANTS, which are evaluated the first time the function is run. The problem with this is that deferred constants increase the size of the compiled code unnecessarily. Using LOADTIMECONSTANT in place of CONSTANT in user code will guarantee that the value will be constructed at load-time. Thus, the value can depend on load-time expressions yet still be seen as a literal in compiled code. Using DEFERREDCONSTANT in place of either CONSTANT or LOADTIMECONSTANT means that the value will not be constructed until it is actually needed. For example, if the value occupies a lot of storage, it will not be allocated if the function is not executed. Comments to Ron Kaplan. Note: The Maxc bytecompiler includes load-time constants even without this file being loaded.