Abstract
This sixth and final lecture briefly described HipHop.js, the new JavaScript version of the HipHop language already presented with Manuel Serrano (Inria Sophia-Antipolis) in the lecture and seminar of May 28, 2013. HipHop.js, which uses Esterel's synchronous parallelism and constructs in JavaScript syntax, makes it easy to integrate synchronous reactive programming with traditional Web programming in Hop.js.
With the ability to modify HipHop.js source code on the fly using Hop.js functions, it also adds an extra level of dynamicity to synchronous programs, which is essential as the Web is in itself a particularly dynamic environment. But the Web also requires a fine blend of synchronous and asynchronous approaches. This is achieved by integrating Hop, which understands Web events and can also launch HipHop.js reactions when a human-machine interface component is activated or when the value of an internal variable changes.
Finally, the addition of the "exec" primitive for calling asynchronous actions, introduced at the end of the 1980s in the Esterel v5 language, means that external actions, such as downloading from a site or the movement of a robot, can be launched and finely controlled. The first prototype compiler from HipHop.js to Hop.js was developed by Colin Vidal (Inria PhD student), and its evolution is part of my research.