<<>> <> <> <> <> <> <> <> DIRECTORY Profiles USING [Profile], Rope USING [ROPE]; ProfilesBackdoor: CEDAR DEFINITIONS = BEGIN <> <<>> ROPE: TYPE ~ Rope.ROPE; ProfileList: TYPE = LIST OF ProfileEntry; ProfileEntry: TYPE = REF ProfileRecord; ProfileRecord: TYPE = RECORD[key: ROPE, tokens: LIST OF ROPE, position: INT]; <> <.profile, or if none exists, User.profile. The purpose of a profile is to allow personalized tailoring of the system. >> <<>> <> <<>> <> <<>> <> <<>> Report: PROC [entry: ProfileEntry ¬ NIL, msg: ROPE]; <> <<>> Lookup: PROC [profile: Profiles.Profile, key: ROPE] RETURNS [ProfileEntry]; <> <<>> END. <<>>