\ memory 98.8.29 1:45 pm NAB needs double 1 constant memerr : inrange? ( a. -- flag ) 2dup >rel >abs d= ; : rel>Handle ( a -- h. ) >abs MemPtrRecoverHandle ; : Handle>rel ( h. -- a 0=success|ior ) 2dup d0= if drop memerr exit then MemHandleLock 2dup inrange? if >rel 0 else drop memerr then ; : ALLOCATE ( u -- a ior ) 0 ( u. ) MemHandleNew Handle>rel ; : FREE ( a -- ior ) rel>Handle MemHandleFree ; : RESIZE ( a1 u -- a2 ior ) >r rel>Handle r> 0 ( u. ) 2over MemHandleResize >r Handle>rel r> or ; : size ( a -- u ) rel>Handle MemHandleSize d>s ;