						Pico Memory Map
						---------------

	Logically, the Pico world consists of 5 components:

		- OS heap (managed by the operating system)
		- Pico heap (managed by the interpreter)
		- Control stack (return addresses and local data)
		- Data stack (lisp data)
		- GC stack (incremental garbage collector)

	Physically, the data stack is merged into the control stack, and the
	gc stack is maintained inside the pico heap.
	The pico heap is allocated from the OS heap during initialization of
	the interpreter.

	The pico heap is completely divided up into memory cells of 8 bytes each.
	The cell is the fundamental data type in Pico and consits of two
	32-bit subparts called 'data' and 'link':

		typedef struct cell {
			struct cell *data;
			struct cell *link;
		} cell;

		typedef cell *pico;

	The global variables "pico heap, heapEnd" point to the start and end
	of the pico heap, respectively.

	The global "pico avail" points to the head of the linked list of all free
	(available) cells.

	pico *stkPtr;				/* Stack pointer */


	Value bindings:
		typedef struct stkFrame {
			struct stkFrame *link;
			pico *sp;
			long cnt;
		} stkFrame;
	"stkBase"



