<<>> <> <> <> <> <> <> DIRECTORY RegisterRefLiteral USING [Create], Rope USING [ROPE], SystemSite USING [Names]; SystemSiteImpl: CEDAR MONITOR IMPORTS RegisterRefLiteral EXPORTS SystemSite ~ { current: REF SystemSite.Names ¬ NIL; Get: PUBLIC ENTRY PROC RETURNS [SystemSite.Names] ~ { IF current = NIL THEN current ¬ NEW[SystemSite.Names ¬ [registry: MakeRope["pa"], domain: MakeRope["PARC"], organization: MakeRope["Xerox"]]]; RETURN [current­] }; Set: PUBLIC ENTRY PROC [new: SystemSite.Names] ~ { IF current = NIL THEN current ¬ NEW[SystemSite.Names]; current­ ¬ new; }; MakeRope: PROC [ s: STRING ] RETURNS [Rope.ROPE] ~ { RETURN[NARROW[RegisterRefLiteral.Create[CODE[Rope.ROPE], s]]]; }; }.