TERMINATION.mod 519 B

12345678910111213141516171819202122
  1. IMPLEMENTATION MODULE TERMINATION;
  2. (* HALT terminates the image immediately ($abort/exit), so HasHalted
  3. is never observable as TRUE; termination is likewise not modelled
  4. across coroutines yet. Both query the runtime flags. *)
  5. PROCEDURE m2terminating () : BOOLEAN;
  6. EXTERNAL;
  7. PROCEDURE m2hashalted () : BOOLEAN;
  8. EXTERNAL;
  9. PROCEDURE IsTerminating () : BOOLEAN;
  10. BEGIN
  11. RETURN m2terminating()
  12. END IsTerminating;
  13. PROCEDURE HasHalted () : BOOLEAN;
  14. BEGIN
  15. RETURN m2hashalted()
  16. END HasHalted;
  17. END TERMINATION.