Because of the additional conditions, Microsoft rearranged the argument list
It consists of the argument list, declaration of all variables, initialization of adjoint variables, and the combination of the adjoint statements.
The argument list of the adjoint procedure consists of the required variables of the original argument list and the adjoint variables corresponding to the active variables of the original argument list.
In order to satisfy modularity we assume that each adjoint variable in an argument list will be used and computed inside the adjoint procedure.
Example of an adjoint procedure call having an expression in its argument list.
Before executing the body e, a procedure disassembles its argument list into the identifiers ?
and the type constant noarg encode argument list types.
All elements in the tail of a variable-length argument list must have the same type, as the tail of an argument list is represented by a recursive type.
It can be seen that this module has two inputs and one output, as specified in the argument list.
At the same time, one has to substitute the argument list with the actual input and output nodes (Delivery, KanbanReturning and ContainerReturning).
On VAX, a routine refers to its arguments via an argument pointer register (AP) which points to an argument list
built in memory by its caller.
Details captured for subprograms include return data types and argument lists