Index: doc/theses/jiada_liang_MMath/intro.tex
===================================================================
--- doc/theses/jiada_liang_MMath/intro.tex	(revision ead38584cd23fbdbd03d98b96cc4f1099187e9b6)
+++ doc/theses/jiada_liang_MMath/intro.tex	(revision 46651fb82868bdb16711611afe0d21467a5fc7e1)
@@ -4,5 +4,5 @@
 Constants can be overloaded among types, \eg @0@ is a null pointer for all pointer types, and the value zero for integer and floating-point types.
 (In \CFA, the constants @0@ and @1@ can be overloaded for any type.)
-A constant's symbolic name is dictated by language syntax related to types.
+A constant's symbolic name is dictated by language syntax related to types, \eg @5.@ (double), @5.0f@ (float), @5l@ (long double).
 In general, the representation of a constant's value is \newterm{opaque}, so the internal representation can be chosen arbitrarily.
 In theory, there are an infinite set of constant names per type representing an infinite set of values.
@@ -13,5 +13,5 @@
 
 Many programming languages capture this important software-engineering capability through a mechanism called \newterm{constant} or \newterm{literal} naming, where a new constant is aliased to an existing constant.
-Its purpose is for readability, replacing a constant name that directly represents a value with a name that is more symbolic and meaningful in the context of the program.
+Its purpose is for readability: replacing a constant name that directly represents a value with a name that is more symbolic and meaningful in the context of the program.
 Thereafter, changing the aliasing of the new constant to another constant automatically distributes the rebinding, preventing errors.
 % and only equality operations are available, \eg @O_RDONLY@, @O_WRONLY@, @O_CREAT@, @O_TRUNC@, @O_APPEND@.
@@ -67,6 +67,6 @@
 \label{s:Terminology}
 
-The term \newterm{enumeration} defines a type with a set of new constants, and the term \newterm{enumerator} represents an arbitrary alias name \see{\VRef{s:CEnumeration} for the name derivation}.
-As well, an enumerated type can have three fundamental properties, \newterm{label}, \newterm{order}, and \newterm{value}.
+The term \newterm{enumeration} defines a type with a set of new constants, and the term \newterm{enumerator} represents an arbitrary alias name \see{\VRef{s:CEnumeration} for the name derivations}.
+An enumerated type can have three fundamental properties, \newterm{label} (name), \newterm{order} (position), and \newterm{value} (payload).
 \begin{cquote}
 \sf\setlength{\tabcolsep}{3pt}
@@ -111,6 +111,5 @@
 \end{cfa}
 The alias name is logically replaced in the program text by its matching constant.
-It is possible to compare aliases, if the constants allow it, \eg @Size < Pi@;
-whereas \eg @Pi < Name@ might be disallowed depending on the language.
+It is possible to compare aliases, if the constants allow it, \eg @Size < Pi@, whereas @Pi < Name@ might be disallowed depending on the language.
 
 Aliasing is not macro substitution, \eg @#define Size 20@, where a name is replaced by its value \emph{before} compilation, so the name is invisible to the programming language.
@@ -133,5 +132,5 @@
 Any reordering of the enumerators requires manual renumbering.
 \begin{cfa}
-const Sun = 1, Mon = 2, Tue = 3, Wed = 4, Thu = 5, Fri = 6, Sat = 7;
+const @Sun = 1@, Mon = 2, Tue = 3, Wed = 4, Thu = 5, Fri = 6, Sat = 7;
 \end{cfa}
 For these reasons, aliasing is sometimes called an enumeration.
