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
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.
More information about the r6rs-discuss