A variable-arity procedural interface
R. Kent Dybvig, Robert Hieb · 1988
This paper presents a procedural interface that handles optional arguments and indefinite numbers of arguments in a convenient and efficient manner without resorting to storing the arguments in a language-dependent data structure. This interface solves many of the problems inherent in the use of lists to store indefinite numbers of arguments. Simple recursion can be used to consume such arguments without the complexity problems caused by the use of the Lisp procedure apply on argument lists. An extension that supports multiple return values is also presented.