Re: Syntax for symbols is more permissive than R6RS
l...@gnu.org (Ludovic Courtès) writes: I would be inclined to not change the reader's default behavior, i.e., to remain at least as permissive as in 1.8, so as to not cause gratuitous incompatibility (we could even add unit tests to make sure we don't remove them inadvertently.) However, it may be a good idea to have a reader option asking for strict(er) conformance. I agree. I'd prefer to leave the permissiveness intact until we have a specific reason to change particular cases. Regards, Neil
Syntax for symbols is more permissive than R6RS
Hi, I was poking around the reader while working on the Unicode stuff, and I found that there aren't checks for a lot of symbol names that R6RS considers to be invalid. The following line has 11 dodgy but not invalid variable names: + - ... 00A @ [ \ ] { | } They can be strung together to make fun code like this: (define - 1) (define [ 2) (define ] 3) (+ 1 [ - 2 3 ]) == 12 Which of these are useful extensions and which of these are bugs? Thanks, Mike Gran
Re: Syntax for symbols is more permissive than R6RS
Hi! Mike Gran spk...@yahoo.com writes: I was poking around the reader while working on the Unicode stuff, and I found that there aren't checks for a lot of symbol names that R6RS considers to be invalid. It's actually more permissive than R5RS as well. For instance, `1+' and `1-' are not valid R5RS identifiers IIRC. I would be inclined to not change the reader's default behavior, i.e., to remain at least as permissive as in 1.8, so as to not cause gratuitous incompatibility (we could even add unit tests to make sure we don't remove them inadvertently.) However, it may be a good idea to have a reader option asking for strict(er) conformance. Thanks, Ludo'.