<> <> DIRECTORY Core, Rope, RoseBehavior, RoseControl; RoseValuing: CEDAR DEFINITIONS = { ROPE: TYPE = Rope.ROPE; Wire: TYPE = Core.Wire; Simulation: TYPE = RoseControl.Simulation; ForceScope: TYPE = RoseControl.ForceScope; Event: TYPE = RoseControl.Event; GetBool: PROC [w: Wire, s: Simulation] RETURNS [b: BOOL]; SetBool: PROC [w: Wire, s: Simulation, b: BOOL, fs: ForceScope]; <> < Error).>> GetLevel: PROC [w: Wire, s: Simulation] RETURNS [l: RoseBehavior.Level]; SetLevel: PROC [w: Wire, s: Simulation, l: RoseBehavior.Level, fs: ForceScope]; <> < Error).>> Format: TYPE = {idiosyncratic, num2, num4, num8, num16}; < numeric for atomics and basic sequences, constructors for other. Numbers always end in a base indicator (B, Q, O, or H).>> < TRUE/FALSE for atomic simple, qudL for atomic simple, constructors for other.>> GetRope: PROC [w: Wire, s: Simulation, f: Format] RETURNS [r: ROPE]; SetRope: PROC [w: Wire, s: Simulation, f: Format, r: ROPE, fs: ForceScope] RETURNS [success: BOOL] ; <> AddNotification: PROC [ event: Event, wire: Wire, sim: Simulation, format: Format, notify: EventConsumerProc, data: REF ANY _ NIL] RETURNS [registration: NotificationRegistration]; EventConsumerProc: TYPE = PROC [ event: Event, wire: Wire, sim: Simulation, value: ROPE, <> data: REF ANY]; NotificationRegistration: TYPE = REF NotificationRegistrationPrivate; NotificationRegistrationPrivate: TYPE; RemoveNotification: PROC [registration: NotificationRegistration]; }.