The following declarations are examples of other ways the TYPE attribute can be used:
DECLARE INT FIXED BIN(31); /* DEFINE AN OPERATION ON CHARACTERS */ DECLARE RADIANS ENTRY( TYPE(INT), TYPE(INT) ) RETURNS( TYPE(INT) ); /* DEFINE ABSTRACT DATA TYPE */ DECLARE 1 LIST, 2 HEAD POINTER, 2 TAIL POINTER; /* DEFINE OPERATION ON 'LISTS' */ DECLARE EXTEND_LIST ENTRY( TYPE(LIST),POINTER ) RETURNS( TYPE(LIST) ); /* DEFINE AN ABSTRACT DATA TYPE */ DECLARE 1 COMPLEX_INTEGER, 2 REAL TYPE( INTEGER ), 2 IMAGINARY TYPE( INTEGER ); /* DEFINE OPERATIONS ON COMPLEX_INTEGER */ DECLARE (CIADD, CISUB, CIDIV, CIMUL) ENTRY( TYPE(COMPLEX_INTEGER), TYPE(COMPLEX_INTEGER) ) RETURNS( TYPE(COMPLEX_INTEGER) );