12 Exit
procedure
Returns #t to indicate that an exit operation is taking place.
Does not indicate that the app will actually exit, since the user may
cancel the exit.
See also exit:insert-on-callback and
exit:insert-can?-callback.
procedure
(exit:set-exiting exiting?) → void?
exiting? : boolean? 
Sets a flag that affects the result of exit:exiting?.
procedure
(exit:insert-on-callback callback) → (-> void?)
callback : (-> void?) 
Adds a callback to be called when exiting.  This callback must not fail.
If a callback should stop an exit from happening, use
exit:insert-can?-callback.
procedure
(exit:insert-can?-callback callback) → (-> void?)
callback : (-> boolean?) 
Use this function to add a callback that determines if an attempted exit
can proceed.  This callback should not clean up any state, since another
callback may veto the exit.  Use exit:insert-on-callback for
callbacks that clean up state.
procedure
Calls the “can-callbacks” and returns their results.  See
exit:insert-can?-callback for more information.
procedure
(exit:on-exit) → void?
Calls the “on-callbacks”.  See exit:insert-on-callback for more
information.
exit:exit performs four actions:
- sets the result of the exit:exiting? function to #t. 
- invokes the exit-callbacks, with exit:can-exit? if none of the “can?” callbacks return #f, 
- invokes exit:on-exit and then 
- queues a callback that calls exit (a racket procedure) and (if exit returns) sets the result of exit:exiting? back to #f. 
procedure
Opens a dialog that queries the user about exiting.  Returns the user’s
decision.