home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1995-03-02 | 981 b | 31 lines | [TEXT/3PRM] |
- implementation module timerDef;
-
-
- //
- // TimerDefinitions:
- //
-
-
- import commonDef;
-
-
- :: TimerDef *s *io = Timer TimerId SelectState TimerInterval (TimerFunction s io);
- :: TimerId :== Int;
- :: TimerInterval :== Int;
- :: TimerFunction *s *io :== TimerState -> (s -> *(io -> (s, io)));
- :: TimerState :== Int;
-
-
- TimerDef_Attributes :: !(TimerDef s io)
- -> (!TimerId, !SelectState, !TimerInterval, !TimerFunction s io);
- TimerDef_Attributes (Timer id ability interval f) = (id, ability, interval, f);
-
- TimerDef_SetAbility :: !(TimerDef s io) !SelectState -> TimerDef s io;
- TimerDef_SetAbility (Timer id _ interval f) ability = Timer id ability interval f;
-
- TimerDef_SetInterval :: !(TimerDef s io) !TimerInterval -> TimerDef s io;
- TimerDef_SetInterval (Timer id ability _ f) interval = Timer id ability interval f;
-
- TimerDef_SetFunction :: !(TimerDef s io) !(TimerFunction s io) -> TimerDef s io;
- TimerDef_SetFunction (Timer id ability interval _) f = Timer id ability interval f;
-