<> <> <> <<>> DIRECTORY Atom USING [GetProp, PutProp]; EndOps: CEDAR DEFINITIONS IMPORTS Atom = BEGIN <> Register: PROC [proc: PROC] = INLINE BEGIN registerList: LIST OF REF PROC _ NARROW[Atom.GetProp[$EndOps, $Registry]]; procRef: REF PROC ~ NEW[PROC _ proc]; IF registerList = NIL THEN registerList _ CONS[procRef, NIL] ELSE BEGIN temp: LIST OF REF PROC _ registerList; UNTIL temp.rest = NIL DO temp _ temp.rest; ENDLOOP; temp.rest _ CONS[procRef, NIL]; END; Atom.PutProp[$EndOps, $Registry, registerList]; END; END.