<> <> <> DIRECTORY IPBasic USING [PrimitiveOp, State]; IPPrimitive: CEDAR DEFINITIONS = BEGIN OPEN IPBasic; Operation: TYPE = PROC[State] _; -- can't be defaulted OpTable: TYPE = REF READONLY OpTableRep; OpTableRep: TYPE = ARRAY PrimitiveOp OF Operation; ops: OpTable; Apply: PROC[self: State, op: PrimitiveOp] = INLINE { ops[op][self] }; END.