Topic: parameter passing by value

topics > computer science > data > Group: parameters

parameter passing by reference
parameter passing by value-result
non-deterministic processing
initialized constants


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 up

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 up

Note: a parameter is an object field, a reference to a pointer; value semantics is an optimization
[»cbb_1990, OK]

Related Topics up

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)

Updated barberCB 10/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.