Topic: parameter passing by reference
Topic: parameter passing by value-result
Topic: non-deterministic processing
Topic: initialized constants
| |
Summary
In parameter passing by value, or call-by-value, parameters are named constants redefined for each instance or the procedure. Their scope is local to the procedure. The performance of argument evaluation is non-deterministic, and should be order independent. This is the most common case.
Parameterization of named constants in a program turns the program into invocation of a procedure with corresponding arguments. This satisfies the principle of correspondence. (cbb 5/80)
Subtopic: pass by value as initialized variables
Quote: in C, arguments are only passed by value; parameters are equivalent to conveniently initialized local variables [»ritcDM7_1978c]
| Quote: call-by-value if evaluate arguments before function, call-by-name if evaluate on each reference; use left-to-right evaluation to support extensions under call-by-value [»reynJC8_1972]
| Quote: pass-by-constant makes a parameter the same as a constant; can't be destination of an assignment or passed-by-reference [»maclBJ_1987]
| Quote: a non-local or public identifier in an environment is assigned a constant value when the environment is created [»hansDR5_1978]
| Subtopic: pass by value not needed
Note: a parameter is an object field, a reference to a pointer; value semantics is an optimization [»cbb_1990, OK]
|
Related Topics
Topic: parameter passing by reference (11 items)
Topic: parameter passing by value-result (10 items)
Topic: non-deterministic processing (19 items)
Topic: initialized constants (12 items)
|