| >> Lars Thomas Hansen writes
| >>
| >> According to the R4RS, section 2.4 (and I expect the IEEE std, although I
| >> don't have it handy), changing a constant is an error:
| >
| >In effect, its a STk bug. It is since a long time on my TODO list. I
| >will try to correct this for next release.
|
| I'm not aware of any Scheme system that protects its constants, so
| you're at least in good company :-)
Hey Lars, long time no see.
As it turns out...
SoftQuad Sculptor [*] contains a Scheme system originally derived
from PSI by Ozan Yigit... and we've found constant protection very
useful. (It really cuts down on hard-to-catch bugs in macros and
"self-modifying" constants in the let family of constructs).
If you have the bits to spare in the type and/or constraint representation
of your data (or move the data to OS- or hardware-protected space as the
R4RS implies), this can be a very (!) modest performance hit for a
substantial debugging win.
-- commercial content below this line --
[*] Sculptor is our Scheme+objects system for customizing Author/Editor, our
SGML editor. See
http://www.softquad.com.
Best,
Dak
--
David A. 'Dak' Keldsen
Software Development Manager
SoftQuad Inc.
Toronto, Canada
Received on Fri Oct 18 1996 - 20:14:09 CEST