diff --git a/preserves.md b/preserves.md index 6f963aa..1936975 100644 --- a/preserves.md +++ b/preserves.md @@ -75,9 +75,15 @@ lexicographically. ### Symbols. Programming languages like Lisp and Prolog frequently use string-like -values called *symbols*. Here, a `Symbol` is, like a `String`, a -sequence of Unicode scalar values representing an identifier of some -kind. `Symbol`s are also compared lexicographically by scalar value. +values called *symbols*.[^even-java-has-quasi-symbols] Here, a `Symbol` +is, like a `String`, a sequence of Unicode scalar values representing an +identifier of some kind. `Symbol`s are also compared lexicographically +by scalar value. + +[^even-java-has-quasi-symbols]: Even Java has quasi-symbols in the form + of its "interned strings". A Java Preserves implementation might + intern Preserves `Symbol`s while leaving Preserves `String`s + uninterned. ### Booleans.