From the Lucid Synchrone paper referenced in the article:<p>&quot;Synchronous languages are based on the synchronous hypothesis. This hypothesis comes from
the idea of separating the functional description of a system from the constraints of the architecture on which it will be executed. The functionality of the system can be described by making
an hypothesis of instantaneous computations and communications, as long as it can be verified
afterward that the hardware is fast enough for the constraints imposed by the environment.&quot;<p>That sounds a lot like how functional programming works in a browser. If you assume function calls take zero time (or can be optimized so they&#x27;re fast enough) then you end up with event handling and asynchronous I&#x2F;O. Preemptive multitasking becomes a non-issue. But long-running computations (where you actually want to keep some CPUs busy for a while) need to be handled outside the system.