DIRECTORY IO, Rope, RoseCreate, RoseExtras, RoseTypes, SwitchTypes; RoseExtrasImpl: CEDAR PROGRAM IMPORTS IO, Rope, RoseCreate, SwitchTypes EXPORTS RoseExtras = BEGIN OPEN RoseTypes; Flatten: PUBLIC PROC [thisCell: Cell, to: ExpansionReceiver, name: RoseTypes.ROPE, count: CARDINAL] = { subNodes: UnnamedConsNE _ NEW[NodeExpressionRep.unnamedCons _ [unnamedCons [elts: NIL]]]; FOR sub: CARDINAL DECREASING IN [0..count) DO subNodes.elts _ CONS[NEW[ NodeExpressionRep.primary _ [primary[ node: to.class.NodeInstance[erInstance: to.instance, name: IO.PutFR[Rope.Cat[name, "%g"], IO.int[sub]], type: SwitchTypes.bitType], selector: [whole [ ]]]]], subNodes.elts]; ENDLOOP; to.class.Equivalence[erInstance: to.instance, a: NEW[NodeExpressionRep.primary _ [primary [node: RoseCreate.LookupNode[from: thisCell, path: LIST[name]], selector: [whole [ ]]]]], b: subNodes]; }; END. n[Indigo]r>Rosemary.DF=>RoseExtrasImpl.Mesa Last Edited by: Barth, July 1, 1985 5:47:49 pm PDT Κ– "cedar" style˜IcodešœΟmœ!™4J™2K˜KšΟk œžœ7˜CK˜šΠbxœžœž˜Kšžœžœ˜)Kšžœ ˜—K˜Kšžœžœ ˜K˜š Οnœžœžœ9žœ žœ˜gKšœžœ5žœ˜Yš žœžœž œžœ ž˜-Kš œžœžœcžœžœQ˜νKšžœ˜—Kšœ1žœYžœ0˜ΑK˜—K˜Kšžœ˜—…—pμ