The Arcmem heap can be partially serialized to a streamable format, here called .arc
(spoken as "dot-arc"). This format is not a file format per se, but can be used as the payload of one.
Each .arc
describes heap objects in arbitrary order, with the requirement that each object must be declared, in full or as forward declaration, before it can be referenced. An object may only be fully declared once, and forward declared once only before the full declaration appears.
By convention, the first element of a stream is considered to be the root object by which all other objects are reachable.
The header of a heap declaration looks as follows: