| CLobby | Root namespace, the global environment and parent class of all builtins |
| CPN_OP | PN_OP - a compressed three-address op (as 32bit int bitfield) TODO: expand to 64bit, check jit then |
| CPNArg | PNArg - call a function (unused). See now macro PN_S(name,1), PN_S(name,2) |
| CPNAsm | |
| CPNBHeader | .pnb binary dump header |
| CPNBoolean | From cmp (x<y) to immediate object (no struct) 0x...2 |
| CPNBytes | Byte strings are raw character data, volatile, may be appended/changed |
| CPNClosure | Closure is an anonymous function, without closed values, |
| CPNCont | Continuation saves the stack and all stack pointers |
| CPNData | Struct to wrap arbitrary data that we may want to allocate from Potion |
| CPNDouble | Doubles are floating point numbers stored as binary data |
| CPNError | Error, including a description, file location, a brief excerpt |
| CPNFile | File is wrapper around a file descriptor, non-volatile but mutable |
| CPNFwd | Forwarding pointer (in case of reallocation) |
| CPNInteger | Either a PN_INT immediate object (no struct) 0x...1 Integer: 31bit/63bit shifted off the last 1 bit or a PNDouble double |
| CPNJumps | Record labels to be patched |
| CPNLick | Lick is a unit of generic tree data |
| CPNLoop | Jump table for loops, for the 2 args b and c Note: only statically allocated (max 1024) |
| CPNMemory | Garbage collector |
| CPNObject | Standard objects act like C structs the fields are defined by the type and it's a fixed size, not volatile |
| CPNProto | Prototype is compiled source code, a closure block (lambda) non-volatile |
| CPNSource | |
| CPNString | Strings are immutable UTF-8, the ID is incremental and they may be garbage collected |
| CPNTable | Table class, based on khash |
| CPNTarget | Definition of the jit targets: x86, ppc, arm |
| CPNTuple | Tuple is an array of PNs |
| CPNVtable | Central vtable, see io http://www.piumarta.com/pepsi/objmodel.pdf |
| CPNWeakRef | Weak ref is used for upvals, it acts as a memory slot, non-volatile but mutable |
| CPotion_State | Global interpreter state P. currently singleton (not threads yet) |