The purpose is that you disconnect the computation of the signal graph from the main (UI) thread and thus allow computation
to not block user input and to not affect refresh rates of the UI in general.
As cited in the retrospective of the Xerox Star, responsiveness (an element of human perception, not of computer performance) is the most important attribute in user satisfaction of a UI.
In lieu of speed, the designers should have made the user interface more responsive. Designing systems to handle user input more intelligently can make them more responsive without necessarily making them execute functions faster.
They can operate asynchronously with respect to user input, making use of background processes, keeping up with important user actions, delaying unimportant tasks (such as refreshing irrelevant areas of the screen) until time permits, and skipping tasks called for
by early user actions but rendered moot by later ones. ViewPoint now makes use of background processes to increase its responsiveness.
As soon as you have async support, (and as stated in the quote), you're going to want cancellation support. This heavily hints at
having a missionary based implementation which has cancellation as one of its design goals.
The purpose is that you disconnect the computation of the signal graph from the main (UI) thread and thus allow computation to not block user input and to not affect refresh rates of the UI in general.
As cited in the retrospective of the Xerox Star, responsiveness (an element of human perception, not of computer performance) is the most important attribute in user satisfaction of a UI.
https://www.researchgate.net/publication/2953879_The_Xerox_Star_A_Retrospective
As soon as you have async support, (and as stated in the quote), you're going to want cancellation support. This heavily hints at having a missionary based implementation which has cancellation as one of its design goals.