Defglobals have the following syntax:
(defglobal [?*<variable-name>* = <global-value>]*)
where <variable-name> must be a unique name and
<global-value> =<constant>|<function-call>
Note: Brackets ([) and (]) define optional elements of the construct. The (|) character defines an or condition. An asterisk (*) defines zero or more of the preceding element (or disjunction of elements). A plus sign (+) defines one or more of the preceding element.
Valid DefGlobal Definitions
valid defglobals are:
(defglobal
?*X* = 1
?*Y* = (time)
?*Z* = (+ 10 (* 2 4)))
(defglobal
?*my-name* = "Tom Grubb")
Invalid DefGlobal Definitions
(defglobal ?*my-name*="tom grubb") <- There MUST be a space after the name and before the equals
(defglobal ?*my-name* = tom grubb) <- Grubb is considered the start of a new defglobal, enclose the value in quotes