(Or "unfold") To replace a
function call with
an instance of the function's body.
Actual argument
expressions are substituted for formal parameters as in
beta reduction. Inlining is usually done as a
compile-time transformation.
If done recklessly (e.g. attempting to inline a
recursive
function) the
compiler will fail to terminate. If done
over-enthusiastically the code size may increase
exponentially, e.g. if function f calls g twice, and g calls h
twice and h is inlined in g which is inlined in f (in either
order) then there will be four copies of h's body in f.
See also
linear argument,
unfold/fold.