Next: , Previous: , Up: objects   [Index]


13.12 Symbol objects

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.