# Expressions

> The rules of logical syntax must follow of themselves, if we only know how every single sign signifies. ---Ludwig Wittgenstein

An expression prescribes a computation that produces a value or variable. Syntactically, an expression is either an operand, or an operation applied to arguments, which are themselves expressions. Operands are identifiers, literals, or types. An expression is evaluated by recursively evaluating its arguments and performing the operation. The order of argument evaluation is undefined for all operations except `AND` and `OR`.

The following topics are discussed below

- Conventions for describing operations
- Operation syntax
- Designators
- Numeric literals
- Text and character literals
- Nil
- Function application
- Set, array, and record constructors
- New
- Arithmetic operations
- Relations
- Boolean operations
- Type operations
- Text operations
- Constant expressions

    Last modified on Tue Oct  3 19:13:52 PDT 1995 by heydon
         modified on Fri Apr 15 15:21:09 PDT 1994 by kalsow