<> <> <> <<>> FIFO: CEDAR DEFINITIONS = BEGIN FIFO: TYPE = REF FIFORec; FIFORec: TYPE = RECORD [ head, tail: FIFOElement _ NIL, size: INT _ 0 ]; FIFOElement: TYPE = REF FIFOElementRec; FIFOElementRec: TYPE = RECORD [ data: REF _ NIL, next: FIFOElement _ NIL ]; Create: PROC [] RETURNS [fifo: FIFO]; Size: PROC [fifo: FIFO] RETURNS [INT]; Get: PROC [fifo: FIFO] RETURNS [data: REF]; Put: PROC [fifo: FIFO, data: REF]; END.