Map
Index
Random
Help
Group
th

Group: parameters

topics > computer science > Group: data



Topic:
environment variables
Topic:
input or output parameters
Topic:
parameter passing by argument list
Topic:
parameter passing by name
Topic:
parameter passing by keyword or position
Topic:
parameter passing by message
Topic:
parameter passing by reference
Topic:
parameter passing by value
Topic:
parameter passing by value-result
Topic:
parameters as argument place holders
Group:
function
Group:
type checking
Group:
type declaration
Group:
variables

Topic:
abstraction by name
Topic:
abstraction in programming language
Topic:
binding of names to objects
Topic:
data type as a set of variables
Topic:
evaluation in an environment
Topic:
function definition
Topic:
function results
Topic:
global declarations and variables
Topic:
local declaration of data
Topic:
macros
Topic:
names as place holders
Topic:
pattern components
Topic:
procedure valued variables
Topic:
roles of a relationship
Topic:
shared objects
Topic:
symbolic representation
Topic:
type parameter
Topic:
variable as function that accesses an object's value

Summary

Parameters replace data objects by symbols thereby turning a program into an abstract form. Parameters are similar to declarations in that both associate a type with a symbolic placeholder. If a type is a set of operations then a parameter may specify a 'new' type consisting of just needed operations. This leaves parameter representation unspecified while protecting argument access.

In procedures and functions, parameters are variables corresponding to function call arguments. In formal function theory, parameters are called bound variables. Since parameters provide entry to a procedure's scope a parameter may result in aliasing or other scope anomalies. For instance keyword parameters are declared within a procedure but defined outside. Fortunately parameters usually indicate constants and variables, and not complicated expressions. Parameters can indicate any data object including temporaries, events, data types, and declarations. (cbb 5/80)

Subtopic: parameter as changeable up

Quote: represent what does not change by a function and represent what changes by the function's arguments [»fregG_1879]
Quote: a preset parameter is evaluated at load time; a program parameter is placed immediately after the subroutine call [»wilkMV_1951]

Subtopic: parameter as abstraction up

Quote: build complex constraints from simple ones by abstraction: recursive embedding, parameterization, and type declaration [»deutLP1_1981]
Quote: use parameters with library subroutines; creates a large, multi-address order code [»wheeDJ6_1949]
Quote: in a type-complete language, any expression can be parameterized with respect to any free name
Quote: with type-completeness, any name that can be declared can also be a parameter [»demeA_1980]
Quote: in a type-complete language, parameterization and application are universally applicable [»demeA_1980]
Quote: with type-completeness, can define declaration in terms of parameter/argument bindings

Subtopic: parameter as initialized variable up

Quote: in C++, argument passing and returned values are identical to initialization of variables [»stroB_1991]
Quote: parameter and declaration conventions should be consistent [»tennRD_1975]
Quote: a variable is an abstraction of an operand [»cbb_1973, OK]

Subtopic: parameter as modifier up

Quote: an APT statement uses major-word/modifier; e.g., goto/setp, and L1=line/pt1,pt2 [»browSA11_1963, OK]
Quote: modifiers for a few properties are useful for other properties [»rossDT3_1957]
QuoteRef: seedH_1971 ;;159 in RPG, user indicators defined by external job control switch

Subtopic: parameter as type signature up

Quote: in Russell, a parameter can be anything with a signature, e.g., values, procedures, and types [»demeA3_1979]
Quote: the signature of a Russell procedure is the list of signatures of its parameters

Subtopic: parameter as interface up

Quote: define parameters as interfaces instead of classes; greater flexibility without copy operations [»blocJ_2001]
Quote: use interface types for parameters, return values, variables, and fields

Subtopic: parameter as branch up

Note: a branch parameter is a code offset into an activation record [»cbb_2000, OK]

Subtopic: design up

Quote: use at most three parameters; do not use many parameters with the same type [»blocJ_2001]

Subtopic: context vs. parameters up

Quote: instead of parameters, a macro can use its left and right context; arbitrary modifications (search outward from call) [»granCA12_1971, OK]

Subtopic: validated arguments up

Quote: a function interface should lead to correct code; avoid multiple returns, error values, and multipurpose functions; allow strong argument validation [»maguS_1993]

Subtopic: thunk up

Quote: a thunk stores the address of a parameter into a known location for calling a procedure [»ingePZ1_1961]

Subtopic: parameter aliasing up

Quote: a variable should not be passed twice as distinct parameters; prohibited in standard FORTRAN [»hoarCA_1974]
Quote: Fortran guarantees that multiple array arguments do not overlap; allows spectacular savings on vector hardware [»stroB_1994]

Subtopic: examples up

Quote: in a segmented SL5 procedure, arguments used for initialization and element selection [»hansDR3_1978a]
QuoteRef: zahnCT_1974 ;;177 passing parameters with events eg table_match (int match_index) : s1 in case label definition and within do loop ...then table_match (i)

Subtopic: global variables, objects up

Quote: with object-oriented programming, long argument lists and global variables become local state [»stroB_1994]
Quote: global variables are essential for customization; e.g., 'comment start' for recognizing the start of a comment in text [»stallRM6_1981]
Quote: users can view and modify global variables if the names are known at run-time

Subtopic: avoid parameters up

Quote: keyword arguments are most useful in poorly written code; functions should have at most two arguments
Quote: a routine should not include parameters for options; e.g., use move routine instead of a parameter for position [»meyeB9_1990]
Quote: new SUIT objects given a random location; user may modify it dynamically using hot keys [»pausR10_1992]


Group: parameters up

Topic: environment variables (5 items)
Topic: input or output parameters (5 items)
Topic: parameter passing by argument list (6 items)
Topic: parameter passing by name (11 items)
Topic: parameter passing by keyword or position (13 items)
Topic: parameter passing by message (31 items)
Topic: parameter passing by reference (11 items)
Topic: parameter passing by value (5 items)
Topic: parameter passing by value-result (10 items)
Topic: parameters as argument place holders
(15 items)

Related Topics up

Group: function   (12 topics, 232 quotes)
Group: type checking   (12 topics, 392 quotes)
Group: type declaration   (5 topics, 110 quotes)
Group: variables   (10 topics, 128 quotes)

Topic: abstraction by name (29 items)
Topic: abstraction in programming language (47 items)
Topic: binding of names to objects (19 items)
Topic: data type as a set of variables (11 items)
Topic: evaluation in an environment (35 items)
Topic: function definition (25 items)
Topic: function results (7 items)
Topic: global declarations and variables (33 items)
Topic: local declaration of data (11 items)
Topic: macros (22 items)
Topic: names as place holders (4 items)
Topic: pattern components (15 items)
Topic: procedure valued variables (34 items)
Topic: roles of a relationship (8 items)
Topic: shared objects (13 items)
Topic: symbolic representation (26 items)
Topic: type parameter (34 items)
Topic: variable as function that accesses an object's value
(21 items)


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