Group: database
Group: parameters
Group: type inheritance
Topic: design for change
Topic: environment variables
Topic: file
Topic: function results
Topic: local vs. global
Topic: local declaration of data
Topic: declaration scope
Topic: import/export lists for defining an interface
Topic: interface between program modules
Topic: namespace
Topic: restricted use of global variables
Topic: state machine
Topic: unique names
| |
Summary
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
| 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
| 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
| Quote: without global state must rule out broadcast since 'every actor' is ill-defined [»hewiC8_1977]
| Subtopic: namespace
| 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
| 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
| 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
| 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
| Quote: use a recursive cache to backtrack global variables that were changed by a sub-block [»randB6_1975, OK]
| Subtopic: global variables
| 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 [»pausR10_1992]
|
Related Topics
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)
|