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.