This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 158: mutating imports

2012-10-05 12:40:15
WG1 - Core
alexshinn
major
alexshinn
fixed
source
closed
2011-04-19 20:33:55
defect

Currently the semantics of calling set! or define on an imported binding is undefined. Do we want to specifically make this an error?

I think we want importing bindings to be immutable in a module and mutable at the REPL.

R6RS, Chez's Modules, and Racket's module forms all, to my knowledge enforce immutability constraints on imported identifiers. I am inclined to think that this is something we want to maintain. I think immutable imports makes more sense both from efficiency and code reasoning perspectives. Otherwise, I think we could have a lot of confusion concerning bindings and evaluation orders when invoking libraries.

resolution
statusnewdecided

We voted this is an error.

statusdecidedwriting
resolutionfixed
statuswritingclosed