libera/#sbcl - IRC Chatlog
Search
10:42:10
phoe
given unicode, we can't always expect BASE-STRINGs, but maybe we can expect SIMPLE-STRING-CHARACTER - and what would be the costs of doing that
10:43:37
pfdietz
As it stands, string literals in SBCL parse as (simple-string character). There's an option in readtables you can set to make it create a base-string if it can, but I found if you do this it breaks some systems in quicklisp (which is their fault, since an implementation is allowed to do that by the standard.)
10:44:26
pfdietz
And normally, if you read a symbol, you get a symbol-name that is a (simple-string character). This is not true of the CL package external symbols, though; those have base-string names.
11:15:10
pfdietz
The spec does allow the reader to turn string literals that could be base strings into base strings. It just specifies that it has to be a simple-string.
11:18:11
pfdietz
Now, when interning a symbol, the spec states "It is implementation-dependent whether the string that becomes the new symbol's name is the given string or a copy of it."
11:24:22
phoe
if this is where we get the definition of copying strings from, this mentions the AAET