Next: objects bignums, Previous: objects strings, Up: objects [Index]
A symbol is a fixed length memory block referenced by machine words tagged as vectors. The first machine word of a symbol block is tagged has symbol in its least significant bits and it has the most significant bits set to zero.
|------------------------|-------------| reference to symbol
heap pointer vector tag
|------------------------|-------------| symbol first word
all set to zero symbol tag
A symbol memory block is 6 words wide and contains immediate
Scheme objects or references to Scheme objects; each word is a slot and
the slots have names: string, ustring, value,
proc, plist.
| • objects symbols values: | The value and proc slots.
| |
| • objects symbols ops: | Operations with the C language API. |