On Sep 11, Brian Harvey wrote:
> > Forbid mutation by code that is not inside the module.
> 
> That's not a problem, I don't think, as long as you mean that any
> such mutation isn't visible inside the module.  (So toplevel can
> mutate anything it wants, but the mutation only affects toplevel,
> not modules.)

Sounds like there might be some confusion here.  The toplevel can
affect (by mutation) only code that was *defined* in the toplevel.
It's very roughly like the toplevel lives in its own module.  So if
you do something like (set! cdr (...)) the only code that behaves
differently is code that you wrote -- for example, `length' still
works as usual since the `cdr' that it uses is not something you
changed.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to