Topic: global declarations and variables

topics > computer science > data > Group: type declaration

type inheritance

design for change
environment variables
function results
local vs. global
local declaration of data
declaration scope
import/export lists for defining an interface
interface between program modules
restricted use of global variables
state machine
unique names


Global declaration allows a program's state to be referenced from many modules without explicit access declaration. In formal theory, globally declared variables are called free variables in a function's definition. (cbb 5/80)
Subtopic: global data up

Quote: most data (by amount) is global for SpecInt95 and embedded programs [»engbJ5_1999]
Note: a file system or database is global state accessed by name [»cbb_2000, OK]

Subtopic: global state for integration, persistence up

Quote: in most operating systems, the interface between programs is disk files or pipes
Quote: a command in Oberon modifies the global state instead of transforming input to output
Quote: Oberon's interface between consecutive commands is primarily global variables; efficient and flexible; storage reclamation more difficult [»wirtN9_1989]
Quote: Oberon parameters are typically displayed, and command output is non-volatile with a visible representation; everything is accessible [»wirtN9_1989]
Quote: ABC supports stepwise refinement with dotted refinements and globally-allocated, persistent variables [»pembS1_1987]
Quote: a computational language includes a degenerate coordination language in its global variables and argument-passing; for communication [»geleD2_1992]
Quote: use 'spawn f(a, b)' to create a new process with shared, unsynchronized, global variables [»dorwSM1_1997]
QuoteRef: cbb_1980 ;;4/18/80 "globals should have a saveable state.

Subtopic: globals for broadcast up

Quote: without global state must rule out broadcast since 'every actor' is ill-defined [»hewiC8_1977]

Subtopic: namespace up

Quote: replace global declarations with a namespace; define a local synonym for the namespace and allow use of common namespaces without explicit name qualification [»stroB_1994]
Quote: name space should be global instead of localized to each host computer; ok if embedded in a naming hierarchy [»watsRW_1981]

Subtopic: class/cluster/static globals up

Quote: Smalltalk accessed class variables and methods through the instance variable of the class' metaobject [»batesR11_2004]
Quote: static CLR fields and methods are global to the type [»hamiJ2_2003]
QuoteRef: ichbJD_1972 ;;72 internal attributes of a class are global to subclasses
Quote: use clusters to maintain a related set of global variables [»naurP3_1969, OK]
Quote: each Oberon module includes a pointer reference list of all global pointers; used for garbage collection [»wirtN9_1989]

Subtopic: configuration globals up

Quote: use dynamic scope for configuration of customizable environments such as GUI packages; avoids configuration objects that are passed to every method [»hansDR6_2001]
Quote: use metadata to configure an application at runtime; e.g., tuning, preferences, installed directory [»huntA_2000]
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: global named constants up

Quote: parameters carry values into refinements; global named constants carry values out [»redeDH7_1979]
Quote: global and static data are initialized once and not destroyed
Quote: SUIT allows global-level properties to be locked; prevents problems from users randomly changing the properties [»pausR10_1992]

Subtopic: backtrack globals up

Quote: use a recursive cache to backtrack global variables that were changed by a sub-block [»randB6_1975, OK]

Subtopic: global variables up

Quote: Smalltalk global variables are shared by all objects; includes all classes [»xlrg8_1981]
Quote: a program includes global, local, and induction variables; only local and induction (the bound variables) may use shared storage; [»goldHH_1948, OK]
Quote: a refinement is an assignment to a global named variable
Quote: the name of a refinement includes its precondition, its assignments to global variables, and an optional postcondition [»redeDH7_1979]
QuoteRef: memorex ;;10-20 can define a symbol global (default is local to macro instance)
Quote: SUIT property editor displays object, class and global property lists; drag-and-drop; makes it easy to learn state inheritance [»pausR10_1992]
Quote: SUIT uses property lists to store information about an object; also searches the object's class and a global property list

Related Topics up

Group: database   (27 topics, 665 quotes)
Group: parameters   (10 topics, 145 quotes)
Group: type inheritance   (13 topics, 394 quotes)

Topic: design for change (76 items)
Topic: environment variables (5 items)
Topic: file (22 items)
Topic: function results (7 items)
Topic: local vs. global (29 items)
Topic: local declaration of data (11 items)
Topic: declaration scope (16 items)
Topic: import/export lists for defining an interface (20 items)
Topic: interface between program modules (55 items)
Topic: namespace (19 items)
Topic: restricted use of global variables (22 items)
Topic: state machine (67 items)
Topic: unique names
(58 items)

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