[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Symbol escapes - clarification



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/10/2012 10:53 AM, Jussi Piitulainen wrote:
> Alaric Snell-Pym writes:
>> On 01/10/2012 01:51 AM, John Cowan wrote:
>>>> Maybe a whitelist of characters that are definitely allowed
>>>> in symbols?
>>>
>>> There is such a list (of ASCII characters only) in 2.1.
>>
>> Don't forget that string->symbol exists, and if it doesn't live by
>> the same restrictions, will be capable of generating symbols that
>> can't be represented with WRITE. And if it does live by those
>> restrictions, it'll be faintly annoying that strings and symbols
>> aren't symmetrical.
>
> Such symmetry could be had on the cheap by building the escape syntax
> for symbols directly on string syntax, say #"102" instead of |102|.
>
> Just a thought.
>
>> The text on identifiers in 2.1 says that . is not an identifier; does
>> that mean I *cannot* write (define |.| 123) and then (+ |.| 456)?
>
> I think it only means that you cannot write (define . 123) but must
> write (define |.| 123) instead.
>

The later text that "In addition..." permits escapes might suggest that,
but it seems less strongly worded than the original text prohibiting it.
I think it just needs clarifying what refers to written notation and
what refers to the actual characters comprising symbols!

As I see it, . *is* an identifier, but . is not a valid written
representation for a symbol (or identifier) as it's used as a special
token to trigger improper lists, so the identifier . needs to be
*written* |.|, etc.

ABS

- --
Alaric Snell-Pym
http://www.snell-pym.org.uk/alaric/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8MHYgACgkQRgz/WHNxCGpkYQCfbziE1aLpwDoI/3vQxPBszdeS
52gAnRAes0k0ZY0W8rwvky73K465mjr0
=jd99
-----END PGP SIGNATURE-----

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports