<> <> <> <<>> DIRECTORY Core, CoreArray, CoreOps, CoreProperties; CoreArrayImpl: CEDAR PROGRAM IMPORTS CoreOps, CoreProperties EXPORTS CoreArray = BEGIN OPEN Core, CoreArray; arrayCellClass: PUBLIC CellClass _ NEW[CellClassRec _ [name: "Array", recast: RecastArray, write: WriteArray, read: ReadArray]]; Start: PROC = { CoreOps.RegisterCellClass[arrayCellClass]; arrayCellClass.properties _ CoreProperties.PutProp[on: arrayCellClass.properties, prop: CoreOps.printClassProcProp, value: NEW[CoreOps.PrintClassProc _ PropPrint]]; }; WriteArray: WriteProc = { }; ReadArray: ReadProc = { }; RecastArray: RecastProc = { <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <<};>> < 0 THEN newWire.elements[seqCell.stitches[stitchWire].sink] _ recCell.internalWire.elements[stitchWire + new.publicWire.elements.size].elements[cell-1];>> <> <> <> <> <> <> <> }; Create: PUBLIC PROC [arrayCellType: ArrayCellType, name: ROPE _ NIL] RETURNS [cellType: CellType] = { <> <> <> <> <> <> <<};>> <> <> <> <> <> <> <> }; PropPrint: CoreOps.PrintClassProc = { Print[NARROW[data], out]; }; Print: PUBLIC PROC [arrayCellType: ArrayCellType, out: STREAM] = { <> <> <> <> <> <> <> <> <> <> <> <> <> <> <<};>> <> <> <> <> <> <> <> <> <> }; Start[]; END.