The defglobal construct allows variables
to be defined which are global in scope throughout the CLIPS environment.
That is, a global variable can be
accessed anywhere in the CLIPS environment and retains its value
independent of other constructs. In contrast, some constructs
(such as defrule and deffunction) allow local variables to be
defined within the definition of the construct. These local variables
can be referred to within the construct, but have no meaning outside
the construct. A CLIPS global variable is similar to global variables
found in procedural programming languages such as LISP,
C and Ada. Unlike C and Ada, however, CLIPS
global variables are weakly typed (they are not restricted to
holding a value of a single data type).