DIRECTORY MobDefs USING [NullVersion, VersionStamp], Rope USING [ROPE]; FileParms: DEFINITIONS = { Name: TYPE = Rope.ROPE; nullName: Name = NIL; nullFormal: Name = nullName; ActualId: TYPE = RECORD [ version: MobDefs.VersionStamp ¬ MobDefs.NullVersion, locator: Name ¬ nullName]; nullActual: ActualId = [ version: MobDefs.NullVersion, locator: nullName]; SymbolSpace: TYPE = REF SymbolSpaceRep; SymbolSpaceRep: TYPE; nullSymbolSpace: SymbolSpace = NIL; BindingProc: TYPE = PROC [actual: ActualId]; Ops: TYPE = RECORD [ Binding: BindingOp, Acquire: AcquireOp, Release: ReleaseOp, Forget: ForgetOp]; BindingOp: TYPE = PROC [ formalId: Name, formalType: Name, defaultLocator: Name, binder: BindingProc]; AcquireOp: TYPE = PROC [name: Name, actual: ActualId] RETURNS [SymbolSpace]; ReleaseOp: TYPE = PROC [symbols: SymbolSpace]; ForgetOp: TYPE = PROC [actual: ActualId]; }.  FileParms.mesa Copyright Σ 1985, 1986, 1988, 1991 by Xerox Corporation. All rights reserved. Satterthwaite, 23-Mar-82 16:30:19 Russ Atkinson (RRA) March 1, 1988 6:36:54 pm PST data types computed version stamp interpreted by implementation op record ΚΧ–(cedarcode) style•NewlineDelimiter ™headšœ™Icodešœ ΟeœC™NLšΟy!™!L™0L™šΟk ˜ LšœŸœ˜*LšœŸœŸœ˜——KšΟn œŸ œ˜Kšœ ™ ˜šœŸœŸœ˜L˜LšœŸœ˜L˜—L˜šœ ŸœŸœ˜šœ4˜4Lšœ™—šœ˜Lšœ™—L˜šœ˜Lšœ˜Lšœ˜—L˜—Lšœ ŸœŸœ˜'šœŸœ˜LšœŸœ˜#——šœ ™ Lš  œŸœŸœ˜,L˜šœŸœŸœ˜Lš œ ˜Lš œ ˜Lš œ ˜Lš œ ˜L˜Lšœ ŸœŸœP˜fLšœ ŸœŸœ Ÿœ˜LLšœ ŸœŸœ˜.Lšœ ŸœŸœ˜)——˜L˜——…—nI