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

Re: [Scheme-reports] ANN: first draft of R7RS small language available

On 05/04/11 09:36, Andrzej wrote:

> Personally, I think this should be addressed in R7RS, either by
> explicitly informing about limits of the specification (illustrated
> with an example like yours) or (better) by fixing this potentially
> erroneous behavior by removing 'else' and '=>' syntax. Perhaps it
> would be enough to replace them with global variables as you proposed
> before.

Yes, this is troublingly un-jewel-like...

Personally, I always thought that comparing the symbol was the right and
simple thing to do, but these examples have given me pause for thought.

However, having 'else' and friends be bound to something in the module
exporting 'cond' and the check being for that binding still being in
place is fraught with issues, too - I think Andy Wingo pointed out that
his environment has a 'compile' procedure, and an 'eval-when' that uses
'compile' as a keyword. Under such a system, people in such situations
would *have* to give access to the 'compile' procedure in order to let
people use the 'compile' keyword to 'eval-when'.

We've heard a lot of reasons why each possible solution is wrong.
Clearly, we have a tough decision to make.

Please can we now list the possible solutions, perhaps on a Wiki page,
and for each one, work on a list of reasons why it sucks badly, with
examples? Then we can try to find a decent solution...

Actually, I've gotten one started:


Please weigh in! Propose solutions, and let others refute them with
examples of them exhibiting undesirable behaviour!

> Andrzej


Alaric Snell-Pym

Scheme-reports mailing list