7.6 Symbols
A symbol value reflects internal representation of syntax-object identifier content, without the binding or source-location information that is associated with an identifier. A symbol is similar to a string, but symbols are typically interned and they are equal by == only when they are equal by ===. The #' operator can produce a symbol value.
Symbols are comparable, which means that generic operations like < and > work on symbols. Comparison of two symbols is the same as comparing the string forms of the symbols.
annotation | |
expression | |
| |
expression | |
| |
repetition | |
| |
repetition | |
| |
binding operator | |
| |
binding operator | |
function | ||
| ||
function | ||
| ||
function | ||
> Symbol.from_string("apple")
#'apple
> Symbol.from_string("apple") == #'apple
#true
> Symbol.uninterned_from_string("apple")
#'apple
> Symbol.uninterned_from_string("apple")
== Symbol.uninterned_from_string("apple")
#false
> Symbol.unreadable_from_string("apple")
#'apple
> Symbol.unreadable_from_string("apple") == #'apple
#false
> Symbol.unreadable_from_string("apple")
== Symbol.unreadable_from_string("apple")
#true
function | |
| |
function | |
|