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,,,

Reply via email to