[r6rs-discuss] set-car!

Alan Watson alan at alan-watson.org
Mon Jun 25 17:40:39 EDT 2007


Eli Barzilay wrote:
> Back to the problem, I don't see how allowing redefinitions of all
> procedure can provide any form of guarantee, other than anarchy.
> These guarantees are all a kind of informal "my code works provided
> that nobody redefined any standard procedures before (or after) it
> started to run".

Yes, redefining set-car! would probably not be a perfect solution. If 
you can provide the initial forms executed by an R5RS-like 
implementation, you can eliminate set-car!, but otherwise you cannot.

We could forbid redefinitions but allow modules to specify that certain 
procedures must not be used anywhere in the program. That is, for 
example, set-car! is either allowed and standard or set-car! is not 
allowed.

I suggested using a declaration to achieve this. One might also consider 
a library clause. I'm not sure whether to exclude procedures or modules.

Regards,

Alan




More information about the r6rs-discuss mailing list