Practical Foundation of Programming Languages by Harper says:

**Chapter 31 Symbols**

**A symbol is an atomic datum with no internal structure**. Whereas a variable is given meaning by substitution, **a symbol is given meaning by a family of operations indexed by symbols**. **A symbol is just a name, or index, for a family of operations**.

Many different interpretations may be given to symbols according to the operations we choose to consider, giving rise to concepts such as **ﬂuid binding, dynamic classiﬁcation, mutable storage**, and **communication channels**.

A type is associated to each symbol whose interpretation depends on the particular application. For example, in the case of mutable storage, the type of a symbol constrains the contents of the cell named by that symbol to values of that type.

What does “a symbol is given meaning by a family of operations indexed by symbols” mean? Is “a symbol” given meaning by a family of operations not one of the “symbols” indexing the family of operations? What is the relation between “a symbol” and “symbols”?

What does “a symbol is just a name, or index, for a family of operations” mean? Does it mean “a symbol names or indexes a family of operations”?

When a symbol is used in each of the following example cases (which I hope you could consider as many as possible, in particular the first three cases):

- “represent a variable in symbolic representations of equations or programs” (see the quote below),
- “represent a word in the representation of natural language sentences” (see the quote below),
- represent an assignable (?) in mutable storage,
- represent something (something similar to a variable?) in ﬂuid binding,
- represent a class (?) in dynamic classiﬁcation,
- represent something (?) in communication channels,

how does the above quote about a symbol applies, specifically:

- is the symbol given meaning by
**what family of operations** indexed by symbols?
- is the symbol just a name, or index, for
**what family of operations**?

Thanks.

The Scheme Programming Language, 4th Edition, by Dybvig, says

**Section 2.2. Simple Expressions**

**Symbols and variables in Scheme** are similar to **symbols and variables in mathematical expressions and equations**. When we evaluate the mathematical expression 1 – x for some value of x, we think of x as a variable. On the other hand, **when we consider the algebraic equation x 2 – 1 = (x – 1)(x + 1), we think of x as a symbol (in fact, we think of the whole equation symbolically)**.

While symbols are commonly used to **represent variables in symbolic representations of equations or programs**, symbols may also be used, for example, **as words in the representation of natural language sentences**.