A function argument which is used exactly once by the function. If the argument is used at most once then it is safe to inline the function and replace the single occurrence of the formal parameter with the actual argument expression. If the argument was used more than once this transformation would duplicate the argument expression, causing it to be evaluated more than once. If the argument is sure to be used at least once then it is safe to evaluate it in advance (see strictness analysis) whereas if the argument was not used then this would waste work and might prevent the program from terminating. |