SetsTest.cm
Last tweaked by Mike Spreitzer on December 18, 1987 4:01:34 pm PST
Install SetsPackage
state
{ OPEN IntStuff, SetBasics, Sets:AbSets, Sets, BiRelBasics, BiRels; NULL}
{ alwaysAdd: IfHadPair ~ ALL[ALL[TRUE]]; NULL}
← &r1 ← CreateHashReln[ALL[refs], ALL[TRUE], ALL[TRUE]]
← &r1.class.AddPair[&r1, [[ra:$foo], [ra:$bar]], alwaysAdd]
← &s1 ← Set[Sets.GetSingletonClass[refs], [ra:$foo]]
← &i1 ← &r1.class.Image[&r1, &s1, leftToRight]
← &r1.class.AddPair[&r1, [[ra:$bar], [ra:$gronk]], alwaysAdd]
← &r1.class.AddPair[&r1, [[ra:$gronk], [ra:$foo]], alwaysAdd]
← &r1
← &c1 ← Compose[&r1, &r1, ALL[FALSE]]
← &r2 ← CreateList[NIL, [TRUE, FALSE], ALL[refs], variable, [ALL[fwd]], FALSE]
← &r2.class.AddPair[&r2, [[ra:$foo], [ra:$zoo]], alwaysAdd]
← &r2.class.AddPair[&r2, [[ra:$bar], [ra:$baz]], alwaysAdd]
← &r2.class.AddPair[&r2, [[ra:$baz], [ra:$foo]], alwaysAdd]
← &r2.class.AddPair[&r2, [[ra:$zoo], [ra:$bar]], alwaysAdd]
← &r2
← &r2.class.AddPair[&r2, [[ra:$bar], [ra:$oof]], alwaysAdd]
← &r2
← &l1 ← Sets.CreateList[LIST[[i:10], [i:30], [i:20]], ints, variable, fwd]
← &l1.class.AddSet[&l1, [Sets.GetSingletonClass[ints], [i:15]]]
← &l1
← &l1.class.AddSet[&l1, [Sets.GetSingletonClass[ints], [i:20]]]
← &l1
← &v1 ← CreateSimple[bounds: [0, 9], val: [ra:$foo], rightSpace: refs]
← &v1.class.AddPair[&v1, [[i:3], [ra:$bar]], alwaysAdd]
← &v1.class.AddPair[&v1, [[i:13], [ra:$bar]], alwaysAdd]
← &v1.class.RemPair[&v1, [[i:5], [ra:$foo]]]
← &v1.class.RemPair[&v1, [[i:4], [ra:$zork]]]
← &v1.class.RemPair[&v1, [[i:40], [ra:$zork]]]
← &v1
← &v1.class.Image[&v1, IIAsSet[[0, 20]], leftToRight]
← &v1.class.SetOn[&v1, right]
← &v1.class.AddPair[&v1, [[i:11], [ra:NIL]], alwaysAdd]
← &allints ← IntervalAsSet[ints, ALL[noValue]]
← &nil ← Set[Sets.GetSingletonClass[refs], [NIL]]
← &v1.class.ScanRestriction[&v1, [&allints, &nil], AcceptAny, [ALL[no]]]
← &l2 ← Sets.CreateList[LIST[[ra:"y"], [ra:"x"], [ra:"z"]], ropes[TRUE], variable, no]
← EnumSeqOfSet[&l2, fwd]
← EnumSeqOfSet[&l2, bwd]
← &s2 ← EnumSeqOfSet[&l2, no]
← &s2.class.GetBounds[&s2, ALL[TRUE], [ALL[fwd]]]!!!
← &l2.class.AddSet[&l2, [Sets.GetSingletonClass[ropes[TRUE]], [ra:"xyz"]]]
← &l2
← &s2
← &p1 ← GradeUp[&s2, [ropes[TRUE].Compare, ropes[TRUE].data]]
← &s3 ← CreateSimple[val: noValue, rightSpace: ropes[TRUE]]
← TransPermute[&s2, &s3, &p1]
← &s3
← &s2b ← CreateSimpleCopy[of: &s2, rightSpace: ropes[TRUE]]
← PermuteInPlace[&s2b, &p1]
← &s2b