<> <> <> <> Properties: CEDAR DEFINITIONS = BEGIN <<>> <> <<>> PropList: TYPE = LIST OF KeyVal; KeyVal: TYPE = RECORD [key, val: REF]; <<>> GetProp: PROC [propList: PropList, prop: REF] RETURNS [REF]; <<--Fetches a value from a property list; NIL if not found>> <<--Reorders list partially; next GetProp of the same prop may be faster>> PutProp: PROC [propList: PropList, prop: REF, val: REF _ NIL] RETURNS [PropList]; <<--Puts a property key value pair on a property list; The property list must be written back.>> <<--A nil val value removes the property>> END.