Enumerations are finite scalar types with named elements. Their syntax is enum { id1, ..., idn } The signature of such an expression is: type t { (* Variable manipulation *) New; :=; V; (* Comparison *) =; <>; (* Miscellaneous *) First, Last: func[] val t; Pred, Succ: func[val t] val t; (* Conversion to and from standard representation (starts w/ 0) *) Ord: func [val t] val Short; OrdInv: func[val Short] val t; (* Number of elements *) Card: func[] val Short; (* constants *) id1, ..., idn: func [] val t; }