DEFINITION MODULE Storage; (* Heap storage. ADDRESS is V3's pointer-sized opaque type (a built-in, interchangeable with any POINTER TO T). *) PROCEDURE ALLOCATE(VAR p : ADDRESS; size : CARDINAL); (* p := a newly heap-allocated block of `size` bytes. *) PROCEDURE DEALLOCATE(VAR p : ADDRESS; size : CARDINAL); (* Releases p's block and sets p to NIL. *) PROCEDURE REALLOCATE(VAR p : ADDRESS; oldSize, newSize : CARDINAL); (* Resizes p's block to newSize bytes. *) END Storage.