- | StableNameRep -- A stable name is a real heap object, unpointed,
- -- with one field containing an index into the
- -- stable pointer table. It has to be a heap
- -- object so the garbage collector can track these
- -- objects and reclaim stable pointer entries.
-
- | ThreadIdRep -- Really a pointer to a TSO
-
- | ArrayRep -- Primitive array of Haskell pointers
- | ByteArrayRep -- Primitive array of bytes (no Haskell pointers)
-
- | PrimPtrRep -- Used for MutVars and MVars;
- -- a pointer to a primitive object
- -- ToDo: subsumes WeakPtrRep, ThreadIdRep,
- -- StableNameRep, ForeignObjRep, and BCORep ?
-