Hi SJain,
we just found your mail by chance in the archive. I did not receive it the
normal way :(
Anyway ...
> I shall be grateful if someone could explain how to get the 'value' of a
> pointer
> to a symbol. It is said in the documentation that evaluation of, for example,
> the function * returns its address or the pointer to it. Evaluation of a
> symbol
> however returns it's value. How to get the pointer to the symbol? This is just
> curiosity as Ms Mia's blog says one can know what is stored where in memory.
The function 'adr' gives you the low-level pointer to the symbol's cell:
: (adr '*)
-> 389215306216
So 389215306216 is the pointer to the symbol.
389215306216
|
V
+-----+-----+
| "*" | VAL |
+-----+-----+
VAL in turn is a pointer here, pointing to the code for multiplication.
: *
-> 24325940465
To access the value from the raw pointer you can use 'struct':
: (struct 389215306216 T)
-> 24325940465
Does this help?
☺/ A!ex
--
UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe