<> <> <> <> <> <> <> <<>> DIRECTORY IO, ProcessorFace, Rope USING [ROPE], StandardStreams USING [CreateStandardOutputStream], SystemVersion; Greet: CEDAR PROGRAM IMPORTS IO, ProcessorFace, StandardStreams EXPORTS SystemVersion ~ BEGIN MachineType: TYPE ~ SystemVersion.MachineType; dateRope: Rope.ROPE = "June 23, 1993"; release: PUBLIC SystemVersion.ReleaseNumber ¬ [major: 10, minor: 1, patch: 0]; greetRopeVerbose: Rope.ROPE ¬ IO.PutFLR[" Welcome to Cedar %g.%g.%g of %g. Copyright (c) 1991, 1992, 1993 by Xerox Corporation. All rights reserved. Copyright protection claimed includes all forms and matters of copyrightable material and information now allowed by statutory or judicial law or hereinafter granted, including without limitation, material generated from the software programs which are displayed on the screen such as icons, screen display looks, character bitmaps, etc. ", LIST[[integer[release.major]], [integer[release.minor]], [integer[release.patch]], [rope[dateRope]] ] ]; greetRope: Rope.ROPE ¬ IO.PutFLR[" Welcome to Cedar %g.%g.%g of %g. ", LIST[[integer[release.major]], [integer[release.minor]], [integer[release.patch]], [rope[dateRope]] ] ]; GetMachineType: PUBLIC PROC RETURNS [MachineType] ~ { RETURN[ProcessorFace.GetProcessorType[]] }; GetMachineTypeName: PUBLIC PROC [type: MachineType] RETURNS [ATOM] ~ { RETURN[ProcessorFace.GetProcessorTypeName[type]] }; MachineTypeFromName: PUBLIC PROC [name: ATOM] RETURNS [MachineType] ~ { RETURN[ProcessorFace.ProcessorTypeFromName[name]] }; LastMachineType: PUBLIC PROC RETURNS[MachineType] ~ { RETURN[ProcessorFace.LastProcessorType[]] }; Run: PROC ~ { greetStream: IO.STREAM ¬ StandardStreams.CreateStandardOutputStream[]; greetStream.PutRope[ greetRope ]; greetStream.Close[]; }; Run[]; END.