<> <> <> <<>> DIRECTORY Rope, IO, AlgebraClasses; Sets: CEDAR DEFINITIONS ~ BEGIN OPEN Rope, AC: AlgebraClasses; <> Set: TYPE = AC.Object; SetData: TYPE = LIST OF AC.Object; <> <> <> <> FamilyOfSetsStructureData: TYPE = REF FamilyOfSetsStructureDataRec; FamilyOfSetsStructureDataRec: TYPE = RECORD [ universe: AC.Object -- the elements of the Structure are the subsets of universe ]; <> MakeFamilyOfSetsStructure: AC.SequenceStructureConstructor; FamilyOfSetsPrintName: AC.ToRopeOp; FamilyOfSetsShortPrintName: AC.ToRopeOp; IsFamilyOfSetsStructure: AC.UnaryPredicate; Universe: AC.UnaryOp; <> <> FamilyOfSetsRecast: AC.BinaryOp; FamilyOfSetsCanRecast: AC.BinaryPredicate; FamilyOfSetsToExpr: AC.ToExprOp; FamilyOfSetsLegalFirstChar: AC.LegalFirstCharOp; FamilyOfSetsRead: AC.ReadOp; FamilyOfSetsFromRope: AC.FromRopeOp; FamilyOfSetsToRope: AC.ToRopeOp; FamilyOfSetsWrite: AC.WriteOp; <> MakeSet: AC.ListImbedOp; <> <> < empty set.>> <> SingleSetStructureData: TYPE = REF SingleSetStructureDataRec; SingleSetStructureDataRec: TYPE = RECORD [ underlyingSet: AC.Object -- the elements of the Structure are the elements of underlyingSet ]; <> <> MakeSingleSetStructure: AC.StructureFromSetConstructor; SingleSetPrintName: AC.ToRopeOp; SingleSetShortPrintName: AC.ToRopeOp; IsSingleSetStructure: AC.UnaryPredicate; UnderlyingSet: AC.UnaryOp; <> <> SingleSetRecast: AC.BinaryOp; SingleSetCanRecast: AC.BinaryPredicate; SingleSetToExpr: AC.ToExprOp; SingleSetLegalFirstChar: AC.LegalFirstCharOp; SingleSetRead: AC.ReadOp; SingleSetFromRope: AC.FromRopeOp; SingleSetToRope: AC.ToRopeOp; SingleSetWrite: AC.WriteOp; UnderlyingSetUniverseEltFromSSSElt: AC.UnaryOp; SSSEltFromUnderlyingSetUniverseElt: AC.BinaryOp; <> IsVariable: AC.UnaryPredicate; <> VariableFromRope: AC.FromRopeOp; <> <> IsElement: AC.BinaryPredicate; <> <<>> IsSubset: AC.BinaryPredicate; <> <> Cardinality: AC.ElementRankOp; Equal: AC.BinaryPredicate; Union: AC.BinaryOp; Intersection: AC.BinaryOp; Difference: AC.BinaryOp; MapUnaryElementOp: AC.BinaryMixedOp; <> <> <> <> Select: AC.BinaryOp; <> First: AC.UnaryOp; <> Last: AC.UnaryOp; <> <> VariableSets: AC.Object; -- public structure that has special $variable method for variable eval (see impl) END.