Next: , Up: layout   [Contents][Index]


2.1 Immediate and block values

CHICKEN attempts to store data in the most “native” way it can. Even though it’s written in C, it tries hard to use machine words everywhere. So on a 32-bit machine, the native code that’s eventually generated will use 32-bit wide integers and pointers. On a 64-bit machine it will use 64-bit wide integers and pointers.

This is known as a ‘C_word’, which is usually defined as an ‘int’ or a ‘long’, depending on the platform. By the way, the ‘C_’ prefix stands for CHICKEN, not the C language. Every Scheme value is represented as a ‘C_word’ internally. To understand how this can work, we need to know that there are roughly two kinds of objects.


Next: , Up: layout   [Contents][Index]