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

Re: [Scheme-reports] REPL

On Thu, Nov 15, 2012 at 7:00 AM, Marc Feeley <feeley@x> wrote:

Le 2012-11-14 à 4:22 PM, John Cowan <cowan@x> a écrit :

> Marc Feeley scripsit:
>> Let me say that I find it contrary to the spririt of Scheme to prevent
>> redefinition and assignment of exported variables.  It is something
>> Schemers do all the time.
> Please note that R7RS, unlike R6RS, does not outright forbid redefinition
> of imported (as opposed to exported) variables; it simply excludes such
> actions from the purview of the standard.

R7RS defines mutation of imported variables as "an error".  This looks like a restriction to me and goes against the Scheme mantra "Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions...".

Scheme has had mutation since the beginning.  All variables are mutable.  No exceptions.  Now R7RS is adding a restriction on variables (mutation in not allowed on imported variables).  This is incoherent with the Scheme mantra.

Actually, with the closest equivalent of a module it had -
(scheme-report-environment) - R5RS also specified mutation
as an error.

For clarification, what is the mutation semantics you are
suggesting?  Should it change the binding in the original
library and all libraries which import it?


Scheme-reports mailing list