From cdc5295a721ac5d81290a5479b0942f21e49d1cd Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 30 Oct 2023 10:46:11 +0100 Subject: [PATCH] Java quasi-Symbols --- preserves.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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.