-- file FileParms.mesa -- last edited by Satterthwaite, 23-Mar-82 16:30:19 DIRECTORY FileSegment: TYPE USING [Pages, nullPages], Strings: TYPE USING [String, SubStringDescriptor], TimeStamp: TYPE USING [Stamp, Null]; FileParms: DEFINITIONS = { -- data types Name: TYPE = Strings.SubStringDescriptor; ActualId: TYPE = RECORD [ version: TimeStamp.Stamp, -- computed version stamp locator: Name]; -- interpreted by implementation SymbolSpace: TYPE = FileSegment.Pages; -- constants nullName: Name = [NIL, 0, 0]; nullFormal: Name = nullName; nullActual: ActualId = [TimeStamp.Null, nullName]; nullSymbolSpace: SymbolSpace = FileSegment.nullPages; -- op record BindingProc: TYPE = PROC [actual: ActualId]; Ops: TYPE = RECORD [ Binding: PROC [ formalId, formalType: Name, defaultLocator: Strings.String _ NIL, binder: BindingProc], Acquire: PROC [Name, ActualId] RETURNS [SymbolSpace], Release: PROC [SymbolSpace], Forget: PROC [ActualId]]; }.