Random832 <random...@fastmail.com>: > Being able to put any character in a symbol doesn't make those strings > identifiers, any more than passing them to getattr/setattr (or > __import__, something's __name__, etc) does in Python.
From R7RS, the newest Scheme standard (p. 61-62): 7.1.1. Lexical structure [...] 〈vertical line〉 → | [...] 〈identifier〉 → 〈initial〉 〈subsequent〉* | 〈vertical line〉 〈symbol element〉* 〈vertical line〉 | 〈peculiar identifier〉 〈initial〉 → 〈letter〉 | 〈special initial〉 〈letter〉 → a | b | c | ... | z | A | B | C | ... | Z 〈special initial〉 → ! | $ | % | & | * | / | : | < | = | > | ? | ^ | _ | ~ 〈subsequent〉 → 〈initial〉 | 〈digit〉 | 〈special subsequent〉 〈digit〉 → 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 〈hex digit〉 → 〈digit〉 | a | b | c | d | e | f 〈explicit sign〉 → + | - 〈special subsequent〉 → 〈explicit sign〉 | . | @ 〈inline hex escape〉 → \x〈hex scalar value〉; 〈hex scalar value〉 → 〈hex digit〉 + 〈mnemonic escape〉 → \a | \b | \t | \n | \r 〈peculiar identifier〉 → 〈explicit sign〉 | 〈explicit sign〉 〈sign subsequent〉 〈subsequent〉* | 〈explicit sign〉 . 〈dot subsequent〉 〈subsequent〉* | . 〈dot subsequent〉 〈subsequent〉* 〈dot subsequent〉 → 〈sign subsequent〉 | . 〈sign subsequent〉 → 〈initial〉 | 〈explicit sign〉 | @ 〈symbol element〉 → 〈any character other than 〈vertical line〉or \〉 | 〈inline hex escape〉 | 〈mnemonic escape〉 | \| Marko -- https://mail.python.org/mailman/listinfo/python-list