Re: Syntax for symbols is more permissive than R6RS

2009-04-27 Thread Neil Jerram
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

2009-04-24 Thread Mike Gran
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

2009-04-24 Thread Ludovic Courtès
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'.