tail-call-non-self-merge-switch

Variable

Package: compiler

As with all compiler switch variables, the value of this variable can be t, nil, or a function object that accepts four arguments and returns t or nil. The arguments passed to the function will be the values of the safety, space, speed, and debug optimization qualities, in that order. nil is equivalent to a function that always returns nil and t to a function that always returns t. When the value is a function and we say t (or true) or nil (or false) in the text below, we mean that the function returns, respectively, t or nil.

If true, compiler will perform non-self-tail-merging (for functions in the tail position different than the function being executed). See Tail merging discussion for more information on tail-merging. Initially true if speed is greater than 1 and debug less than 2. (This is more restrictive than tail-call-self-merge-switch because references to the caller function are off the stack in this case but at least one call is on the stack in the self-merge case.)

See compiling.htm for information on the compiler.

The documentation is described in introduction.htm and the index is in index.htm.

Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.

Created 2000.10.5.