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
DIRECTORY
MobDefs USING [NullVersion, VersionStamp],
Rope USING [ROPE];
FileParms: DEFINITIONS = {
data types
Name: TYPE = Rope.ROPE;
nullName: Name = NIL;
nullFormal: Name = nullName;
ActualId: TYPE = RECORD [
version: MobDefs.VersionStamp ¬ MobDefs.NullVersion,
computed version stamp
locator: Name ¬ nullName];
interpreted by implementation
nullActual: ActualId = [
version: MobDefs.NullVersion,
locator: nullName];
SymbolSpace: TYPE = REF SymbolSpaceRep;
SymbolSpaceRep: TYPE;
nullSymbolSpace: SymbolSpace = NIL;
op record
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];
}.