On Nov 12, 2008, at 1:01 AM, leppie wrote:
(it does not work perfectly when reloading precompiled libraries),
That caught me!
I know it was broken; it will be fixed. First off, do you
have gensyms, or only vanilla symbols in IronScheme? Are
your gensyms (at any point) interned into a symbol/gensym
table? And can you unintern them from the table?
Not sure if that is a bug?
Well, I don't know who is printing "mod!!!" and what it means.
(maybe there is more to the 'symbol-bound?' procedure than I saw?)
Symbols in ikarus have a symbol-value field. Initially, when
a symbol is created, it has a special "unbound-value" value
in its symbol-value field. You use set-symbol-value! to set
the symbol value, and use symbol-bound? to check if the value
in the symbol-value field has been set or not.
[you can implement it as two fields too: one holds the value
and one holds a "bound?" boolean value, if you don't have a
special "unbound" value]
> (symbol-bound? 'x)
#f
> (symbol-value 'x)
Unhandled exception
Condition components:
1. &assertion
2. &who: symbol-value
3. &message: "unbound"
4. &irritants: (x)
> (set-symbol-value! 'x 'hello)
> (symbol-bound? 'x)
#t
> (symbol-value 'x)
hello
I don't think there is anything to symbol-bound? than you saw.
Aziz,,,