An event has a name and an associated value. The
name is simply an identifier, much like a variable's name. The value
can be any Glish value, of any type: numeric, string,
record, reference, agent, or
function, along
with all of its attributes. We might speak of a foo event with
value [3, 2, 5], to mean an event whose name is ``foo" and value
is the particular three-element integer vector [3, 2, 5].
An event can be thought of as a message, with the name identifying the message's type and the value conveying data specific to a particular message. For example, in addition to the foo event we discussed above we might have another foo event, this time with a value of "howdy howdy!". Both events can be thought of as ``foo"-type events, though their values are different.
Glish provides ways to generate events and to specify what should happen when an event is received. Events are sent to and received from agent's, which are discussed in the next section.