On Nov 12, 2008, at 11:11 AM, leppie wrote:

It is pretty much the same, except that a symbol is simply a
"C struct" with an integer field for an id.

Where is the name of the symbol kept?  Is it in the struct
or in another hash table that you lookup using the id?

Also, how is "eq?" implemented in IronScheme?  And how does
string->symbol work?

The value (if any) of the symbol is kept in a hash table.

Do you do this lookup every time you need the value of a
symbol?  So, if you import some variable x with location
x$n (a gensym) from a library, how do you implement or
compile the variable reference?

So do you mean with unintern, basically remove the value
from the symbol?

No, not remove the value.  In Ikarus, it would be removing
the symbol from the symbol table so that subsequent read
operations (or string->symbol) would return a new symbol,
rather than returning the old one.  I won't know how that
would work in IronScheme until I understand how it works.

Aziz,,,

Reply via email to