On 12 Sep 2009, at 3:14 am, Ray Dillinger wrote:

> If supported at all, a form allowing one module to alter
> bindings established in another, with immediate effects on
> code in yet further modules depending on that other, should
> appear next to a big red stopsign in the documentation that
> says, "warning, this is almost always a bad idea and will
> cause changes in the semantics of all modules that depend
> on that library; changes which you probably won't anticipate,
> may not even understand, and which will be hell to debug."

Yes!

In my ideal dream-world, we'd lose the semantics of set!, and instead
have an explicit mutable-cell type. Then compilers could inline willy-
nilly, and a module would remain as it was when loaded; if you
reloaded a module then you'd need to explicitly reload all modules
that use it to get (in your lexical environment) the new semantics,
while other lexical environments that still refer to the old modules
would stay as they were. But I think I might face an uphill struggle
proposing that :-)

> It might be appropriate for a lisp intended as a "universal
> mechanical translation target" or UNCOL, but would tend to
> extremes of bad hygiene and damnably subtle bugs in any
> software engineering process involving merely mortal
> programmers.

Definitely!

>
>                               Bear
>


ABS

--
Alaric Snell-Pym
Work: http://www.snell-systems.co.uk/
Play: http://www.snell-pym.org.uk/alaric/
Blog: http://www.snell-pym.org.uk/archives/author/alaric/




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

Reply via email to